diff options
author | Ralf Corsepius <ralf.corsepius@rtems.org> | 2010-07-30 12:44:32 +0000 |
---|---|---|
committer | Ralf Corsepius <ralf.corsepius@rtems.org> | 2010-07-30 12:44:32 +0000 |
commit | 49fb1c503333fd9b7738b2d5eddfa1e775cd93f2 (patch) | |
tree | 840b7f926b3711de9d8d1adac4f80e1c6ad8fca6 /tools | |
parent | 2010-07-30 Ralf Corsépius <ralf.corsepius@rtems.org> (diff) | |
download | rtems-49fb1c503333fd9b7738b2d5eddfa1e775cd93f2.tar.bz2 |
2010-07-30 Ralf Corsépius <ralf.corsepius@rtems.org>
* rtems-bin2c.c: Fix memory leak in '.c' suffix strip.
Also strip '.h' suffix.
Diffstat (limited to 'tools')
-rw-r--r-- | tools/build/ChangeLog | 5 | ||||
-rw-r--r-- | tools/build/rtems-bin2c.c | 8 |
2 files changed, 11 insertions, 2 deletions
diff --git a/tools/build/ChangeLog b/tools/build/ChangeLog index b1cb6d16d1..70bed699c5 100644 --- a/tools/build/ChangeLog +++ b/tools/build/ChangeLog @@ -1,5 +1,10 @@ 2010-07-30 Ralf Corsépius <ralf.corsepius@rtems.org> + * rtems-bin2c.c: Fix memory leak in '.c' suffix strip. + Also strip '.h' suffix. + +2010-07-30 Ralf Corsépius <ralf.corsepius@rtems.org> + * rtems-bin2c.c: Make -v (verbose) working. 2010-07-30 Ralf Corsépius <ralf.corsepius@rtems.org> diff --git a/tools/build/rtems-bin2c.c b/tools/build/rtems-bin2c.c index 28148dc70a..4e6796aa38 100644 --- a/tools/build/rtems-bin2c.c +++ b/tools/build/rtems-bin2c.c @@ -70,8 +70,12 @@ void process(const char *ifname, const char *ofname) strncpy( obasename, ofname, PATH_MAX ); len = strlen( obasename ); - if ( obasename[len-2] == '.' && obasename[len-1] == 'c' ) - obasename[len-2] = '\0'; + if ( len >= 2 ) { + if ( obasename[len-2] == '.' ) { + if ( (obasename[len-1] == 'c') || (obasename[len-1] == 'h') ) + obasename[len-2] = '\0'; + } + } sprintf( ocname, "%s.c", obasename ); sprintf( ohname, "%s.h", obasename ); |