svn commit: r319216 - head/sys/netinet6

Jonathan T. Looney jtl at FreeBSD.org
Tue May 30 14:50:29 UTC 2017


Author: jtl
Date: Tue May 30 14:50:28 2017
New Revision: 319216
URL: https://svnweb.freebsd.org/changeset/base/319216

Log:
  Fix an unnecessary/incorrect check in the PKTOPT_EXTHDRCPY macro.
  
  This macro allocates memory and, if malloc does not return NULL, copies
  data into the new memory. However, it doesn't just check whether malloc
  returns NULL. It also checks whether we called malloc with M_NOWAIT. That
  is not necessary.
  
  While it may be that malloc() will only return NULL when the M_NOWAIT flag
  is set, we don't need to check for this when checking malloc's return
  value. Further, in this case, the check was not completely accurate,
  because it checked for flags == M_NOWAIT, rather than treating it as a bit
  field and checking for (flags & M_NOWAIT).
  
  Reviewed by:	ae
  MFC after:	2 weeks
  Sponsored by:	Netflix
  Differential Revision:	https://reviews.freebsd.org/D10942

Modified:
  head/sys/netinet6/ip6_output.c

Modified: head/sys/netinet6/ip6_output.c
==============================================================================
--- head/sys/netinet6/ip6_output.c	Tue May 30 14:41:31 2017	(r319215)
+++ head/sys/netinet6/ip6_output.c	Tue May 30 14:50:28 2017	(r319216)
@@ -2465,7 +2465,7 @@ do {\
 	if (src->type) {\
 		int hlen = (((struct ip6_ext *)src->type)->ip6e_len + 1) << 3;\
 		dst->type = malloc(hlen, M_IP6OPT, canwait);\
-		if (dst->type == NULL && canwait == M_NOWAIT)\
+		if (dst->type == NULL)\
 			goto bad;\
 		bcopy(src->type, dst->type, hlen);\
 	}\


More information about the svn-src-head mailing list