summaryrefslogtreecommitdiff
path: root/lib/csv.c
diff options
context:
space:
mode:
authorHung-Weic Chiu <sppsorrg@gmail.com>2017-04-29 14:20:15 +0000
committerHung-Weic Chiu <sppsorrg@gmail.com>2017-04-29 14:20:15 +0000
commitd8d58e98397d8442ec68f8d715b64d5e6000b903 (patch)
treefe9b6397952c51d9fed722b76120937454f33677 /lib/csv.c
parent650532d3d5aaa30163d9aaf88c11dccbd07d454a (diff)
Fix the memory leak
- free the memory for all cases. Signed-off-by: Hung-Weic Chiu <sppsorrg@gmail.com>
Diffstat (limited to 'lib/csv.c')
-rw-r--r--lib/csv.c7
1 files changed, 7 insertions, 0 deletions
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);