diff options
author | Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk> | 2021-05-16 11:46:32 +0100 |
---|---|---|
committer | Petr Štetiar <ynezz@true.cz> | 2021-06-10 17:09:35 +0200 |
commit | 27f4559281fb9f6a4d8ec5e054cea7f4c6b77820 (patch) | |
tree | 2979f413e03a0cd620fefd3b4d712bdd615a5bcc /tools/firmware-utils/src | |
parent | dd6f02a3f4b70c82b45e1156cbe1edc833f683b4 (diff) | |
download | upstream-27f4559281fb9f6a4d8ec5e054cea7f4c6b77820.tar.gz upstream-27f4559281fb9f6a4d8ec5e054cea7f4c6b77820.tar.bz2 upstream-27f4559281fb9f6a4d8ec5e054cea7f4c6b77820.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>
(cherry picked from commit baf2a50ef3cf34574e12d2ab1b23578310f0d527)
Diffstat (limited to 'tools/firmware-utils/src')
-rw-r--r-- | tools/firmware-utils/src/zytrx.c | 4 |
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; } |