From a54169b3d170747659c5e14047388f7404d65315 Mon Sep 17 00:00:00 2001 From: Stefan Reinauer Date: Sat, 26 Apr 2014 16:11:21 +0000 Subject: CID1130011: Use after free in ich_descriptor_tool Corresponding to flashrom svn r1771. Signed-off-by: Stefan Reinauer Acked-by: Stefan Tauner --- util/ich_descriptors_tool/ich_descriptors_tool.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'util') 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) { -- cgit v1.1