summaryrefslogtreecommitdiffstats
path: root/tools/build/rtems-bin2c.c
diff options
context:
space:
mode:
authorRalf Corsepius <ralf.corsepius@rtems.org>2010-07-30 12:44:32 +0000
committerRalf Corsepius <ralf.corsepius@rtems.org>2010-07-30 12:44:32 +0000
commit49fb1c503333fd9b7738b2d5eddfa1e775cd93f2 (patch)
tree840b7f926b3711de9d8d1adac4f80e1c6ad8fca6 /tools/build/rtems-bin2c.c
parent2010-07-30 Ralf Corsépius <ralf.corsepius@rtems.org> (diff)
downloadrtems-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 '')
-rw-r--r--tools/build/rtems-bin2c.c8
1 files changed, 6 insertions, 2 deletions
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 );