Mercurial > hg > octave-nkf > gnulib-hg
changeset 12214:57423bea6079
argp: avoid memory leak
argp has been leaking memory since commit 79c0a43, in Jul 2006.
* modules/argp (Depends-on): Use dirname-lgpl, not dirname.
* lib/argp-namefrob.h (__argp_base_name): Use last_component, not
base_name, since the latter malloc()s and can call exit().
Signed-off-by: Eric Blake <ebb9@byu.net>
author | Eric Blake <ebb9@byu.net> |
---|---|
date | Thu, 29 Oct 2009 13:38:52 -0600 |
parents | d642b5a319a9 |
children | b1ff181f6269 |
files | ChangeLog lib/argp-namefrob.h modules/argp |
diffstat | 3 files changed, 9 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,11 @@ 2009-10-29 Eric Blake <ebb9@byu.net> + argp: avoid memory leak + * modules/argp (Depends-on): Use dirname-lgpl, not dirname. + * lib/argp-namefrob.h (__argp_base_name): Use last_component, not + base_name, since the latter malloc()s and can call exit(). + Leak introduced 2006-07-03. + dirname-lgpl: adjust clients that don't need full dirname * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname. * modules/filenamecat (Depends-on): Likewise.
--- a/lib/argp-namefrob.h +++ b/lib/argp-namefrob.h @@ -1,5 +1,5 @@ /* Name frobnication for compiling argp outside of glibc - Copyright (C) 1997, 2003, 2007 Free Software Foundation, Inc. + Copyright (C) 1997, 2003, 2007, 2009 Free Software Foundation, Inc. This file is part of the GNU C Library. Written by Miles Bader <miles@gnu.ai.mit.edu>. @@ -147,7 +147,7 @@ extern char *__argp_base_name(const char *arg); #else # include "dirname.h" -# define __argp_base_name base_name +# define __argp_base_name last_component #endif #if defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME