From 6eec2e331f9ce8aa90171da3df27c82b08fc3ac7 Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Fri, 13 Feb 2004 09:51:32 +0000 Subject: Avoid potential double free when locate_library_file() is used on fully resolved names --- utils/ldd.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'utils') diff --git a/utils/ldd.c b/utils/ldd.c index 6569c204a..9e9e08d36 100644 --- a/utils/ldd.c +++ b/utils/ldd.c @@ -669,11 +669,14 @@ int main( int argc, char** argv) 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; } -- cgit v1.2.3