]> git.proxmox.com Git - mirror_frr.git/commitdiff
Fix the memory leak
authorHung-Weic Chiu <sppsorrg@gmail.com>
Sat, 29 Apr 2017 14:20:15 +0000 (14:20 +0000)
committerHung-Weic Chiu <sppsorrg@gmail.com>
Sat, 29 Apr 2017 14:20:15 +0000 (14:20 +0000)
- free the memory for all cases.

Signed-off-by: Hung-Weic Chiu <sppsorrg@gmail.com>
lib/csv.c

index 7df9292647bf9408af76bc2e898a85c47d4cf8d6..95e3e97768a8a7b5cc8f7925da3c9893e23e2efa 100644 (file)
--- 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);