[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Possible memory leak in lowercase() function
[Thread Prev] | [Thread Next]
- Subject: Possible memory leak in lowercase() function
- From: "Dmitry V. Krivenok" <krivenok@xxxxxxxxxxxxxxx>
- Reply-to: krivenok@xxxxxxxxxxxxxxx
- Reply-to: libssh@xxxxxxxxxx
- Date: Thu, 10 Sep 2009 16:24:42 +0400
- To: libssh@xxxxxxxxxx
Hello! I fixed a bug in lowercase(). Patch is attached. -- Sincerely yours, Dmitry V. Krivenok Orange System Co., Ltd. Saint-Petersburg, Russia work phone: +7 812 332-32-40 cellular phone: +7 921 576-70-91 e-mail: krivenok@xxxxxxxxxxxxxxx web: http://www.orangesystem.ru skype: krivenok_dmitry jabber: krivenok_dmitry@xxxxxxxxx icq: 242-526-443
From b880b247c0b320eb86c9b1a1d121a42d074ef6ad Mon Sep 17 00:00:00 2001
From: Dmitry V. Krivenok <krivenok@xxxxxxxxxxxxxxx>
Date: Thu, 10 Sep 2009 16:08:41 +0400
Subject: [PATCH] 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 <krivenok@xxxxxxxxxxxxxxx>
---
libssh/keyfiles.c | 11 ++++++-----
1 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/libssh/keyfiles.c b/libssh/keyfiles.c
index 0e73fcb..67d897e 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);
-
- if((str == NULL) || (new == NULL)) {
- return NULL;
- }
+ char *new = NULL;
+
+ if(str == NULL) return NULL;
+
+ new = strdup(str);
+ if(new == NULL) return NULL;
for (p = new; *p; p++) {
*p = tolower(*p);
--
1.6.3.3
Archive administrator: postmaster@lists.cynapses.org