From a8b071dbd5d142b924861cf5508e84a828302fb4 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Thu, 27 Nov 2014 09:28:42 -0600 Subject: rtems-bin2c.c: Fix free() of altered pointer --- tools/build/rtems-bin2c.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/tools/build/rtems-bin2c.c b/tools/build/rtems-bin2c.c index fc0381a259..391c25901f 100644 --- a/tools/build/rtems-bin2c.c +++ b/tools/build/rtems-bin2c.c @@ -119,8 +119,8 @@ void process(const char *ifname, const char *ofname) } /* find basename */ - char *ifbasename = strdup(ifname); - if ( ifbasename == NULL ) { + char *ifbasename_to_free = strdup(ifname); + if ( ifbasename_to_free == NULL ) { fprintf(stderr, "cannot allocate memory\n" ); fclose(ifile); if ( createC ) { fclose(ocfile); } @@ -128,7 +128,8 @@ void process(const char *ifname, const char *ofname) exit(1); } - ifbasename = basename(ifbasename); + char *ifbasename; + ifbasename = basename(ifbasename_to_free); strcpy(buf, ifbasename); for (p = buf; *p != '\0'; ++p) { @@ -252,7 +253,7 @@ void process(const char *ifname, const char *ofname) fclose(ifile); if ( createC ) { fclose(ocfile); } if ( createH ) { fclose(ohfile); } - free(ifbasename); + free(ifbasename_to_free); } void usage(void) -- cgit v1.2.3