From: Hung-Weic Chiu Date: Sat, 29 Apr 2017 14:20:15 +0000 (+0000) Subject: Fix the memory leak X-Git-Tag: frr-3.0-rc0~17^2~12^2~4 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=d8d58e98397d8442ec68f8d715b64d5e6000b903;p=matthieu%2Ffrr.git Fix the memory leak - free the memory for all cases. Signed-off-by: Hung-Weic Chiu --- diff --git a/lib/csv.c b/lib/csv.c index 7df9292647..95e3e97768 100644 --- a/lib/csv.c +++ b/lib/csv.c @@ -177,6 +177,9 @@ csv_decode_record(csv_record_t *rec) field = strpbrk(curr, ","); } field = strstr(curr, "\n"); + if (!field) { + return; + } fld = malloc(sizeof(csv_field_t)); if (field && fld) { fld->field = curr; @@ -239,6 +242,10 @@ csv_encode (csv_t *csv, rec = malloc(sizeof(csv_record_t)); if (!rec) { log_error("record malloc failed\n"); + if (!buf) { + free(str); + } + va_end(list); return (NULL); } csv_init_record(rec);