From 5de4de613bb19716cf54438076a9dfad9aac15ac Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Sun, 1 Apr 2012 15:06:24 +0000 Subject: [PATCH] Fix memory leak on error condition (#4798). git-svn-id: svn://localhost/ardour2/branches/3.0@11775 d708f5d6-7413-0410-9779-e7cbd77b26cf --- libs/evoral/src/libsmf/smf_load.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libs/evoral/src/libsmf/smf_load.c b/libs/evoral/src/libsmf/smf_load.c index 59ae67b537..6da6036ea0 100644 --- a/libs/evoral/src/libsmf/smf_load.c +++ b/libs/evoral/src/libsmf/smf_load.c @@ -833,13 +833,14 @@ load_file_into_buffer(void **file_buffer, size_t *file_buffer_length, FILE* stre *file_buffer = malloc(*file_buffer_length); if (*file_buffer == NULL) { g_critical("malloc(3) failed: %s", strerror(errno)); - + return (-5); } if (fread(*file_buffer, 1, *file_buffer_length, stream) != *file_buffer_length) { g_critical("fread(3) failed: %s", strerror(errno)); - + free (*file_buffer); + *file_buffer = NULL; return (-6); }