Module Name: src Committed By: sjg Date: Thu Jun 9 05:11:17 UTC 2011
Modified Files: src/lib/libc/gen: getgrent.c Log Message: _gr_copy() can get called with fromgrp->gr_mem == NULL. To generate a diff of this commit: cvs rdiff -u -r1.62 -r1.63 src/lib/libc/gen/getgrent.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/lib/libc/gen/getgrent.c diff -u src/lib/libc/gen/getgrent.c:1.62 src/lib/libc/gen/getgrent.c:1.63 --- src/lib/libc/gen/getgrent.c:1.62 Mon Apr 28 20:22:59 2008 +++ src/lib/libc/gen/getgrent.c Thu Jun 9 05:11:17 2011 @@ -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 */ @@ -270,6 +270,9 @@ 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; memc++; /* for final NULL */