summaryrefslogtreecommitdiffstats
path: root/file.c
diff options
context:
space:
mode:
authorGravatar Anton Lundin <glance@acc.umu.se>2013-12-11 00:53:31 +0100
committerGravatar Dirk Hohndel <dirk@hohndel.org>2013-12-11 03:13:30 +0100
commit511f8b8885241d026fb4656943424b91f04a7ddf (patch)
tree53c7239c436ba9c187792187b2b21acf72c989c3 /file.c
parentef3a51f6eeb6346e2b234af5a091e42238c46c62 (diff)
downloadsubsurface-511f8b8885241d026fb4656943424b91f04a7ddf.tar.gz
Plug potential memory leak in try_to_xslt_open_csv
Free temp buffer if realloc fails. Signed-off-by: Anton Lundin <glance@acc.umu.se> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
Diffstat (limited to 'file.c')
-rw-r--r--file.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/file.c b/file.c
index a8c014235..1e141b708 100644
--- a/file.c
+++ b/file.c
@@ -122,8 +122,10 @@ static int try_to_xslt_open_csv(const char *filename, struct memblock *mem, char
memcpy(mem->buffer + mem->size + 5, "</csv>", 7);
mem->buffer = buf;
mem->size += strlen("<csv></csv>");
- } else
+ } else {
+ free(mem->buffer);
return 1;
+ }
return 0;
}