diff options
author | Stefan Reinauer <stefan.reinauer@coreboot.org> | 2014-04-26 16:12:45 +0000 |
---|---|---|
committer | Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at> | 2014-04-26 16:12:45 +0000 |
commit | 2ba1b009c2572b72aca06e9d1c5ff3af9b95518a (patch) | |
tree | d8118a4e310604b1c154bf9dd01225eb44d59d7a | |
parent | 709643c2af221f83dc1341c7eb70712fe458f1a2 (diff) | |
download | flashrom-2ba1b009c2572b72aca06e9d1c5ff3af9b95518a.zip flashrom-2ba1b009c2572b72aca06e9d1c5ff3af9b95518a.tar.gz |
CID1130006: Memory leaks in buspirate_spi_init()
The one in the error case of register_shutdown() was discovered while
reviewing the other one found by Coverity and fixed by Stefan Reinauer.
Corresponding to flashrom svn r1778.
Signed-off-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Acked-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
-rw-r--r-- | buspirate_spi.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/buspirate_spi.c b/buspirate_spi.c index 9d229f4..f0e84bc 100644 --- a/buspirate_spi.c +++ b/buspirate_spi.c @@ -250,6 +250,7 @@ int buspirate_spi_init(void) if (!bp_commbuf) { bp_commbufsize = 0; msg_perr("Out of memory!\n"); + free(dev); return ERROR_OOM; } bp_commbufsize = DEFAULT_BUFSIZE; @@ -263,8 +264,12 @@ int buspirate_spi_init(void) return ret; } - if (register_shutdown(buspirate_spi_shutdown, NULL)) + if (register_shutdown(buspirate_spi_shutdown, NULL) != 0) { + bp_commbufsize = 0; + free(bp_commbuf); + bp_commbuf = NULL; return 1; + } /* This is the brute force version, but it should work. * It is likely to fail if a previous flashrom run was aborted during a write with the new SPI commands |