From 17c2ec5c5c24b65321d9ad0207a269e54d25749e Mon Sep 17 00:00:00 2001 From: Dimitri Staessens Date: Fri, 4 Mar 2016 10:24:11 +0100 Subject: lib: fixed memory leaks in du_buff du_buff.c: memory leak fixes --- src/lib/du_buff.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/lib/du_buff.c') diff --git a/src/lib/du_buff.c b/src/lib/du_buff.c index bfb33339..08e3d23e 100644 --- a/src/lib/du_buff.c +++ b/src/lib/du_buff.c @@ -85,6 +85,9 @@ struct buffer * buffer_create (size_t size, size_t headspace, size_t len) bool head_block = true; head = malloc(sizeof *head); + if (head == NULL) + return NULL; + head->size=0; head->data=NULL; @@ -111,6 +114,7 @@ struct buffer * buffer_create (size_t size, size_t headspace, size_t len) buf = malloc(sizeof *buf); if (buf == NULL) { LOG_WARN("Could not allocate struct."); + free(head); return NULL; } @@ -119,6 +123,7 @@ struct buffer * buffer_create (size_t size, size_t headspace, size_t len) if (buf->data == NULL) { LOG_WARN("Could not allocate memory block."); buffer_destroy_list(head); + free(head); return NULL; } } else { -- cgit v1.2.3