Mercurial > hg > octave-kai > gnulib-hg
changeset 12449:eccd5d7c7a69
*printf: Fix memory leak.
author | Joel E. Denny <jdenny@clemson.edu> |
---|---|
date | Tue, 15 Dec 2009 10:07:39 +0100 |
parents | e962488c88ab |
children | 6590c835b804 |
files | ChangeLog lib/dprintf.c lib/fprintf.c lib/vdprintf.c lib/vfprintf.c |
diffstat | 5 files changed, 23 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2009-12-15 Joel E. Denny <jdenny@clemson.edu> + Bruno Haible <bruno@clisp.org> + + *printf: Fix memory leak. + * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf. + * lib/vfprintf.c (vfprintf): Likewise. + * lib/dprintf.c (dprintf): Likewise. + * lib/vdprintf.c (vdprintf): Likewise. + 2009-12-14 Eric Blake <ebb9@byu.net> accept4: adjust module dependencies
--- a/lib/dprintf.c +++ b/lib/dprintf.c @@ -57,6 +57,9 @@ return -1; } + if (output != buf) + free (output); + if (len > INT_MAX) { errno = EOVERFLOW;
--- a/lib/fprintf.c +++ b/lib/fprintf.c @@ -1,5 +1,5 @@ /* Formatted output to a stream. - Copyright (C) 2004, 2006-2008 Free Software Foundation, Inc. + Copyright (C) 2004, 2006-2009 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -63,6 +63,9 @@ return -1; } + if (output != buf) + free (output); + if (len > INT_MAX) { errno = EOVERFLOW;
--- a/lib/vdprintf.c +++ b/lib/vdprintf.c @@ -54,6 +54,9 @@ return -1; } + if (output != buf) + free (output); + if (len > INT_MAX) { errno = EOVERFLOW;
--- a/lib/vfprintf.c +++ b/lib/vfprintf.c @@ -1,5 +1,5 @@ /* Formatted output to a stream. - Copyright (C) 2004, 2006-2008 Free Software Foundation, Inc. + Copyright (C) 2004, 2006-2009 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -60,6 +60,9 @@ return -1; } + if (output != buf) + free (output); + if (len > INT_MAX) { errno = EOVERFLOW;