rtems-bin2c.c: Fix free() of altered pointer

This commit is contained in:
Joel Sherrill
2014-11-27 09:28:42 -06:00
parent 3a8566b796
commit a8b071dbd5
+5 -4
View File
@@ -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)