diff options
author | Patrick Georgi <patrick.georgi@coresystems.de> | 2009-07-18 14:20:39 +0000 |
---|---|---|
committer | Patrick Georgi <patrick.georgi@coresystems.de> | 2009-07-18 14:20:39 +0000 |
commit | f107538e33c880cb52ee131a527149cce9f936ee (patch) | |
tree | b782cca75cd6822e112330743c7dd5e24894387e /util/options | |
parent | 19bc45d1e826bb60e9922eed449643f4f0d63bc9 (diff) |
strdup the input of dirname, as dirname is free
(according to the spec) to change the string in-situ,
even if glibc doesn't do it.
This avoids errors on Mac OS and Solaris.
Kill nrv2b support in CBFS (we have lzma),
slightly improve debug output in CBFS,
properly declare all functions of CBFS in the header.
Signed-off-by: Patrick Georgi <patrick.georgi@coresystems.de>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4436 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
Diffstat (limited to 'util/options')
-rw-r--r-- | util/options/build_opt_tbl.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/util/options/build_opt_tbl.c b/util/options/build_opt_tbl.c index f4aa8af7ec..ec9400629e 100644 --- a/util/options/build_opt_tbl.c +++ b/util/options/build_opt_tbl.c @@ -488,7 +488,7 @@ int main(int argc, char **argv) /* See if we want to output a C source file */ if(option) { int err=0; - strncpy(tmpfilename, dirname(option), TMPFILE_LEN); + strncpy(tmpfilename, dirname(strdup(option)), TMPFILE_LEN); strncat(tmpfilename, TMPFILE_TEMPLATE, TMPFILE_LEN); tmpfile = mkstemp(tmpfilename); if(tmpfile == -1) { @@ -539,7 +539,7 @@ int main(int argc, char **argv) struct cmos_option_table *hdr; struct lb_record *ptr, *end; - strncpy(tmpfilename, dirname(option), TMPFILE_LEN); + strncpy(tmpfilename, dirname(strdup(option)), TMPFILE_LEN); strncat(tmpfilename, TMPFILE_TEMPLATE, TMPFILE_LEN); tmpfile = mkstemp(tmpfilename); if(tmpfile == -1) { |