Tue Aug 4 22:04:23 2009 UTC ()
Use malloc(...|M_ZERO) instead of malloc(...) followed by memset(,0,).


(dyoung)
diff -r1.50 -r1.51 src/sys/netinet6/mld6.c

cvs diff -r1.50 -r1.51 src/sys/netinet6/mld6.c (expand / switch to context diff)
--- src/sys/netinet6/mld6.c 2009/04/18 14:58:05 1.50
+++ src/sys/netinet6/mld6.c 2009/08/04 22:04:23 1.51
@@ -1,4 +1,4 @@
-/*	$NetBSD: mld6.c,v 1.50 2009/04/18 14:58:05 tsutsui Exp $	*/
+/*	$NetBSD: mld6.c,v 1.51 2009/08/04 22:04:23 dyoung Exp $	*/
 /*	$KAME: mld6.c,v 1.25 2001/01/16 14:14:18 itojun Exp $	*/
 
 /*
@@ -102,7 +102,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: mld6.c,v 1.50 2009/04/18 14:58:05 tsutsui Exp $");
+__KERNEL_RCSID(0, "$NetBSD: mld6.c,v 1.51 2009/08/04 22:04:23 dyoung Exp $");
 
 #include "opt_inet.h"
 
@@ -637,14 +637,13 @@
 		 * and link it into the interface's multicast list.
 		 */
 		in6m = (struct in6_multi *)
-			malloc(sizeof(*in6m), M_IPMADDR, M_NOWAIT);
+			malloc(sizeof(*in6m), M_IPMADDR, M_NOWAIT|M_ZERO);
 		if (in6m == NULL) {
 			splx(s);
 			*errorp = ENOBUFS;
 			return (NULL);
 		}
 
-		memset(in6m, 0, sizeof(*in6m));
 		in6m->in6m_addr = *maddr6;
 		in6m->in6m_ifp = ifp;
 		in6m->in6m_refcount = 1;
@@ -754,13 +753,12 @@
 {
 	struct in6_multi_mship *imm;
 
-	imm = malloc(sizeof(*imm), M_IPMADDR, M_NOWAIT);
-	if (!imm) {
+	imm = malloc(sizeof(*imm), M_IPMADDR, M_NOWAIT|M_ZERO);
+	if (imm == NULL) {
 		*errorp = ENOBUFS;
 		return NULL;
 	}
 
-	memset(imm, 0, sizeof(*imm));
 	imm->i6mm_maddr = in6_addmulti(addr, ifp, errorp, timer);
 	if (!imm->i6mm_maddr) {
 		/* *errorp is already set */
@@ -870,9 +868,8 @@
 			return;
 	}
 
-	mk = malloc(sizeof(*mk), M_IPMADDR, M_WAITOK);
+	mk = malloc(sizeof(*mk), M_IPMADDR, M_ZERO|M_WAITOK);
 
-	memset(mk, 0, sizeof(*mk));
 	LIST_INIT(&mk->mk_head);
 	mk->mk_ifp = ifp;
 	LIST_INSERT_HEAD(&in6_mk, mk, mk_entry);