From: dtucker Date: Fri, 14 Sep 2007 00:04:15 +0000 (+0000) Subject: - (dtucker) [openbsd-compat/bsd-asprintf.c] Plug mem leak in error path. X-Git-Tag: V_4_9_P1~164 X-Git-Url: http://andersk.mit.edu/gitweb/openssh.git/commitdiff_plain/e5fe7821d2ce885cd4c7334088c401f2161b6dc3 - (dtucker) [openbsd-compat/bsd-asprintf.c] Plug mem leak in error path. Patch from Jan.Pechanec at sun com. --- diff --git a/ChangeLog b/ChangeLog index b290326a..6d2f4827 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +20070914 + - (dtucker) [openbsd-compat/bsd-asprintf.c] Plug mem leak in error path. + Patch from Jan.Pechanec at sun com. + 20070910 - (dtucker) [openbsd-compat/regress/closefromtest.c] Bug #1358: Always return 0 on successful test. From David.Leonard at quest com. diff --git a/openbsd-compat/bsd-asprintf.c b/openbsd-compat/bsd-asprintf.c index 00fa0dfd..3368195d 100644 --- a/openbsd-compat/bsd-asprintf.c +++ b/openbsd-compat/bsd-asprintf.c @@ -55,6 +55,7 @@ vasprintf(char **str, const char *fmt, va_list ap) if (ret >= 0 && ret < INIT_SZ) { /* succeeded with initial alloc */ *str = string; } else if (ret == INT_MAX || ret < 0) { /* Bad length */ + free(string); goto fail; } else { /* bigger than initial, realloc allowing for nul */ len = (size_t)ret + 1;