On Apr 23, 2012, at 1:44 PM, Dimitry Andric wrote: > On 2012-04-23 19:31, Andrew Boyer wrote: >> Begin forwarded message: >> >>> From: Greg Bednarek <gbedna...@averesystems.com> >>> Date: April 16, 2012 10:54:33 AM EDT >>> To: freebsd-current@freebsd.org >>> Cc: Andrew Boyer <abo...@averesystems.com> >>> Subject: Memory leak in authunix_create_default()... >>> >>> >>> Please see the attached patch for a proposed fix for a memory leak in >>> authunix_create_default(). >>> >>> The leak appears to have been introduced 6/19/2009 in Revision 194494 of >>> lib/libc/rpc/auth_unix.c >>> >>> As you can see form the patch, the fix is very simple. The issue was >>> discovered when tracking down some rather drastic increases in application >>> memory footprint during certain types of workloads, and was eventually >>> traced it to this (apparently) not very heavily used path in libc. >>> >>> I would appreciate hearing any comments/concerns with the proposed fix. > > Hi, > > The patch itself seems to have gone missing?
Trying again...
auth_unix.diff
Description: Binary data
Index: lib/libc/rpc/auth_unix.c =================================================================== --- lib/libc/rpc/auth_unix.c (revision 234224) +++ lib/libc/rpc/auth_unix.c (working copy) @@ -185,6 +185,7 @@ AUTH * authunix_create_default() { + AUTH *auth; int ngids; long ngids_max; char machname[MAXHOSTNAMELEN + 1]; @@ -207,8 +208,10 @@ if (ngids > NGRPS) ngids = NGRPS; /* XXX: interface problem; those should all have been unsigned */ - return (authunix_create(machname, (int)uid, (int)gid, ngids, - (int *)gids)); + auth = authunix_create(machname, (int)uid, (int)gid, ngids, + (int *)gids); + free(gids); + return (auth); } /* -------------------------------------------------- Andrew Boyer abo...@averesystems.com
_______________________________________________ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"