Thu Jun 9 05:11:17 2011 UTC ()
_gr_copy() can get called with fromgrp->gr_mem == NULL.


(sjg)
diff -r1.62 -r1.63 src/lib/libc/gen/getgrent.c

cvs diff -r1.62 -r1.63 src/lib/libc/gen/getgrent.c (expand / switch to context diff)
--- src/lib/libc/gen/getgrent.c 2008/04/28 20:22:59 1.62
+++ src/lib/libc/gen/getgrent.c 2011/06/09 05:11:17 1.63
@@ -1,4 +1,4 @@
-/*	$NetBSD: getgrent.c,v 1.62 2008/04/28 20:22:59 martin Exp $	*/
+/*	$NetBSD: getgrent.c,v 1.63 2011/06/09 05:11:17 sjg Exp $	*/
 
 /*-
  * Copyright (c) 1999-2000, 2004-2005 The NetBSD Foundation, Inc.
@@ -88,7 +88,7 @@
 #if 0
 static char sccsid[] = "@(#)getgrent.c	8.2 (Berkeley) 3/21/94";
 #else
-__RCSID("$NetBSD: getgrent.c,v 1.62 2008/04/28 20:22:59 martin Exp $");
+__RCSID("$NetBSD: getgrent.c,v 1.63 2011/06/09 05:11:17 sjg Exp $");
 #endif
 #endif /* LIBC_SCCS and not lint */
 
@@ -269,6 +269,9 @@
 	COPYSTR(grp->gr_name, fromgrp->gr_name);
 	COPYSTR(grp->gr_passwd, fromgrp->gr_passwd);
 	grp->gr_gid = fromgrp->gr_gid;
+
+	if (fromgrp->gr_mem == NULL)
+		return 0;
 
 	for (memc = 0; fromgrp->gr_mem[memc]; memc++)
 		continue;