From owner-svn-src-projects@FreeBSD.ORG Tue Jun 9 14:18:17 2009 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 32400106564A; Tue, 9 Jun 2009 14:18:17 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 200838FC19; Tue, 9 Jun 2009 14:18:17 +0000 (UTC) (envelope-from brooks@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n59EIHfs073719; Tue, 9 Jun 2009 14:18:17 GMT (envelope-from brooks@svn.freebsd.org) Received: (from brooks@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n59EIGGD073717; Tue, 9 Jun 2009 14:18:16 GMT (envelope-from brooks@svn.freebsd.org) Message-Id: <200906091418.n59EIGGD073717@svn.freebsd.org> From: Brooks Davis Date: Tue, 9 Jun 2009 14:18:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r193832 - projects/ngroups/lib/libc/gen X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 09 Jun 2009 14:18:17 -0000 Author: brooks Date: Tue Jun 9 14:18:16 2009 New Revision: 193832 URL: http://svn.freebsd.org/changeset/base/193832 Log: Fix some style bugs and return the right error. Also, document the new out of memory error condition. Modified: projects/ngroups/lib/libc/gen/initgroups.3 projects/ngroups/lib/libc/gen/initgroups.c Modified: projects/ngroups/lib/libc/gen/initgroups.3 ============================================================================== --- projects/ngroups/lib/libc/gen/initgroups.3 Tue Jun 9 14:07:29 2009 (r193831) +++ projects/ngroups/lib/libc/gen/initgroups.3 Tue Jun 9 14:18:16 2009 (r193832) @@ -65,6 +65,13 @@ function may fail and set .Va errno for any of the errors specified for the library function .Xr setgroups 2 . +It may also return: +.Bl -tag -width Er +.It Bq Er ENOMEM +The +.Fn initgroups +function was unable to allocate temporary storage. +.El .Sh SEE ALSO .Xr setgroups 2 , .Xr getgrouplist 3 Modified: projects/ngroups/lib/libc/gen/initgroups.c ============================================================================== --- projects/ngroups/lib/libc/gen/initgroups.c Tue Jun 9 14:07:29 2009 (r193831) +++ projects/ngroups/lib/libc/gen/initgroups.c Tue Jun 9 14:18:16 2009 (r193832) @@ -35,12 +35,12 @@ __FBSDID("$FreeBSD$"); #include -#include -#include #include "namespace.h" #include #include "un-namespace.h" #include +#include +#include #include int @@ -56,12 +56,11 @@ initgroups(uname, agroup) * setgroups to fail and set errno. */ ngroups = sysconf(_SC_NGROUPS_MAX) + 1; - groups = malloc(sizeof(gid_t)*ngroups); - if (groups == NULL) - return (ENOSPC); + if ((groups = malloc(sizeof(*groups) * ngroups)) == NULL) + return (ENOMEM); getgrouplist(uname, agroup, groups, &ngroups); ret = setgroups(ngroups, groups); free(groups); - return(ret); + return (ret); }