aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>2021-05-16 11:46:32 +0100
committerKevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>2021-05-20 11:56:38 +0100
commitbaf2a50ef3cf34574e12d2ab1b23578310f0d527 (patch)
treef00b68f395016571e230b02ba84c288c37d0e0a9
parent80be798d4a4fa4a3b3413a0a0ff42dd8ac88574d (diff)
downloadupstream-baf2a50ef3cf34574e12d2ab1b23578310f0d527.tar.gz
upstream-baf2a50ef3cf34574e12d2ab1b23578310f0d527.tar.bz2
upstream-baf2a50ef3cf34574e12d2ab1b23578310f0d527.zip
firmware-utils: fix coverity zytrx.c resource leak
fix coverity resource leak warning: *len = stat.st_size; mapped = mmap(NULL, stat.st_size, PROT_READ, MAP_SHARED, fd, 0); if (close(fd) < 0) CID 1484880: Resource leaks (RESOURCE_LEAK) Variable "mapped" going out of scope leaks the storage it points to. return NULL; return mapped; } Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
-rw-r--r--tools/firmware-utils/src/zytrx.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/tools/firmware-utils/src/zytrx.c b/tools/firmware-utils/src/zytrx.c
index 302efc6010..7167679206 100644
--- a/tools/firmware-utils/src/zytrx.c
+++ b/tools/firmware-utils/src/zytrx.c
@@ -150,8 +150,10 @@ static void *map_input(const char *name, size_t *len)
}
*len = stat.st_size;
mapped = mmap(NULL, stat.st_size, PROT_READ, MAP_SHARED, fd, 0);
- if (close(fd) < 0)
+ if (close(fd) < 0) {
+ (void) munmap(mapped, stat.st_size);
return NULL;
+ }
return mapped;
}