From 18bce136178029b52cbc7097d85cc0e50da887d8 Mon Sep 17 00:00:00 2001 From: "Dmitry V. Krivenok" Date: Thu, 10 Sep 2009 16:08:41 +0400 Subject: Fixed possible memory leak in lowercase function. If user passed NULL pointer to lowercase() function, duplicated string "new" wasn't freed before return. Signed-off-by: Dmitry V. Krivenok Signed-off-by: Andreas Schneider --- libssh/keyfiles.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'libssh/keyfiles.c') diff --git a/libssh/keyfiles.c b/libssh/keyfiles.c index 0e73fcba..f21cbe1f 100644 --- a/libssh/keyfiles.c +++ b/libssh/keyfiles.c @@ -1019,11 +1019,12 @@ static int alldigits(const char *s) { */ static char *lowercase(const char* str) { char *p = 0; - char *new = strdup(str); + char *new = NULL; - if((str == NULL) || (new == NULL)) { - return NULL; - } + if(str == NULL) return NULL; + + new = strdup(str); + if(new == NULL) return NULL; for (p = new; *p; p++) { *p = tolower(*p); -- cgit v1.2.3