diff options
| author | Hung-Weic Chiu <sppsorrg@gmail.com> | 2017-04-29 14:20:15 +0000 |
|---|---|---|
| committer | Hung-Weic Chiu <sppsorrg@gmail.com> | 2017-04-29 14:20:15 +0000 |
| commit | d8d58e98397d8442ec68f8d715b64d5e6000b903 (patch) | |
| tree | fe9b6397952c51d9fed722b76120937454f33677 /lib/csv.c | |
| parent | 650532d3d5aaa30163d9aaf88c11dccbd07d454a (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.c | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -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); |
