From acc04a3656e4d66395645317db305433790dce19 Mon Sep 17 00:00:00 2001 From: Jonathan Dieter Date: Fri, 14 Sep 2018 13:21:35 +0100 Subject: [PATCH] Fix memory leak (and slowly start process of asserting zmalloc success) (Coverity ID: 310911 Signed-off-by: Jonathan Dieter --- src/lib/dl/multipart.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/lib/dl/multipart.c b/src/lib/dl/multipart.c index ce6a04e..78ebc70 100644 --- a/src/lib/dl/multipart.c +++ b/src/lib/dl/multipart.c @@ -24,6 +24,7 @@ * POSSIBILITY OF SUCH DAMAGE. */ +#include #include #include #include @@ -41,12 +42,7 @@ static char *add_boundary_to_regex(zckCtx *zck, const char *regex, if(regex == NULL || boundary == NULL) return NULL; char *regex_b = zmalloc(strlen(regex) + strlen(boundary) + 1); - if(regex_b == NULL) { - set_fatal_error(zck, - "Unable to reallocate %lu bytes for regular expression", - strlen(regex) + strlen(boundary) - 2); - return NULL; - } + assert(regex_b); if(snprintf(regex_b, strlen(regex) + strlen(boundary), regex, boundary) != strlen(regex) + strlen(boundary) - 2) { free(regex_b); @@ -81,10 +77,13 @@ static bool gen_regex(zckDL *dl) { if(regex_n == NULL) return false; char *regex_e = add_boundary_to_regex(dl->zck, end, dl->boundary); - if(regex_n == NULL) + if(regex_e == NULL) { + free(regex_n); return false; + } dl->dl_regex = zmalloc(sizeof(regex_t)); if(!create_regex(dl->zck, dl->dl_regex, regex_n)) { + free(regex_e); free(regex_n); return false; } -- 2.30.2