diff options
author | Stefan Reinauer <stefan.reinauer@coreboot.org> | 2014-04-26 16:11:21 +0000 |
---|---|---|
committer | Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at> | 2014-04-26 16:11:21 +0000 |
commit | a54169b3d170747659c5e14047388f7404d65315 (patch) | |
tree | 211be2f03f42cec3b99157a5130694a71c2812ca /util | |
parent | f94d9ceaa63d0b3b17b88dadda0b198f49c3f43f (diff) | |
download | ast2050-flashrom-a54169b3d170747659c5e14047388f7404d65315.zip ast2050-flashrom-a54169b3d170747659c5e14047388f7404d65315.tar.gz |
CID1130011: Use after free in ich_descriptor_tool
Corresponding to flashrom svn r1771.
Signed-off-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Acked-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Diffstat (limited to 'util')
-rw-r--r-- | util/ich_descriptors_tool/ich_descriptors_tool.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/util/ich_descriptors_tool/ich_descriptors_tool.c b/util/ich_descriptors_tool/ich_descriptors_tool.c index c359913..00ad1f3 100644 --- a/util/ich_descriptors_tool/ich_descriptors_tool.c +++ b/util/ich_descriptors_tool/ich_descriptors_tool.c @@ -77,12 +77,13 @@ static void dump_file(const char *prefix, const uint32_t *dump, unsigned int len printf("Dumping %u bytes of the %s region from 0x%08x-0x%08x to %s... ", file_len, region_names[i], base, limit, fn); int fh = open(fn, O_WRONLY | O_CREAT, S_IRUSR | S_IWUSR); - free(fn); if (fh < 0) { fprintf(stderr, "ERROR: couldn't open(%s): %s\n", fn, strerror(errno)); + free(fn); exit(1); } + free(fn); ret = write(fh, &dump[base >> 2], file_len); if (ret != file_len) { |