From 1838591b684b515962b941018288366eb7276a2b Mon Sep 17 00:00:00 2001 From: Stefan Reinauer Date: Sat, 26 Apr 2014 16:12:45 +0000 Subject: 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 Signed-off-by: Stefan Tauner Acked-by: Stefan Tauner --- buspirate_spi.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'buspirate_spi.c') 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 -- cgit v1.1