diff options
author | Uwe Hermann <uwe@hermann-uwe.de> | 2008-12-22 16:42:59 +0000 |
---|---|---|
committer | Uwe Hermann <uwe@hermann-uwe.de> | 2008-12-22 16:42:59 +0000 |
commit | 58783e395f7f46c04448eee4c0cbde26bffd7fc5 (patch) | |
tree | bb2cdf585ae0b6943587505ecb11079d5c6a0324 | |
parent | 0ab42985587bf1dc58ab0b90cba5a2e135a6776b (diff) | |
download | flashrom-58783e395f7f46c04448eee4c0cbde26bffd7fc5.tar.gz flashrom-58783e395f7f46c04448eee4c0cbde26bffd7fc5.tar.bz2 flashrom-58783e395f7f46c04448eee4c0cbde26bffd7fc5.zip |
If you pass a bogus layout file to the -l option flashrom will segfault
Fix that by throwing an error instead.
Corresponding to flashrom svn r370 and coreboot v2 svn r3834.
Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Peter Stuge <peter@stuge.se>
-rw-r--r-- | layout.c | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -156,6 +156,11 @@ int read_romlayout(char *name) #endif tstr1 = strtok(tempstr, ":"); tstr2 = strtok(NULL, ":"); + if (!tstr1 || !tstr2) { + fprintf(stderr, "Error parsing layout file.\n"); + fclose(romlayout); + return 1; + } rom_entries[romimages].start = strtol(tstr1, (char **)NULL, 16); rom_entries[romimages].end = strtol(tstr2, (char **)NULL, 16); rom_entries[romimages].included = 0; |