[uClibc-cvs] uClibc/utils ldd.c,1.4,1.5

Erik Andersen andersen at uclibc.org
Fri Feb 13 09:51:35 UTC 2004


Update of /var/cvs/uClibc/utils
In directory nail:/tmp/cvs-serv25705

Modified Files:
	ldd.c 
Log Message:
Avoid potential double free when locate_library_file() is used
on fully resolved names


Index: ldd.c
===================================================================
RCS file: /var/cvs/uClibc/utils/ldd.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- ldd.c	1 Feb 2004 11:10:32 -0000	1.4
+++ ldd.c	13 Feb 2004 09:51:32 -0000	1.5
@@ -669,11 +669,14 @@
 			printf("\tnot a dynamic executable\n");
 
 		for (cur = lib_list; cur; cur=cur->next) {
-			free(cur->name);
-			cur->name=NULL;
-			if (cur->path && cur->path != not_found)
+			if (cur->path && cur->path != not_found) {
 				free(cur->path);
-			cur->path=NULL;
+				cur->path=NULL;
+			}
+			if (cur->name) {
+				free(cur->name);
+				cur->name=NULL;
+			}
 		}
 		lib_list=NULL;
 	}




More information about the uClibc-cvs mailing list