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...

Attachment: 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"

Reply via email to