diff options
| author | Vincent JARDIN <vincent.jardin@6wind.com> | 2017-10-09 12:42:11 +0200 |
|---|---|---|
| committer | Vincent JARDIN <vincent.jardin@6wind.com> | 2017-10-09 12:42:11 +0200 |
| commit | 43b798b7dd149782d9dbad58c1a849d6d528b1d2 (patch) | |
| tree | a28e982c1c01ed393e35f1e720007117ecbc5710 /lib/csv.c | |
| parent | 3f58e1b3e79090f29f8b4b75bb529d54ba719c26 (diff) | |
lib: fix NULL->field_len access
Currenlty, this function is used only by:
- unit test of csv.c (see its main() section)
- ptm_lib.c
In case of ptm, it is safe to return NULL because:
csv_encode_record() -> return NULL
_ptm_lib_encode_header() -> return NULL
the only consumer of the return value is: ptm_lib_init_msg()
that checks the NULL return.
Warning:
Access to field 'field_len' results in a dereference of a null
pointer (loaded from variable 'fld')
Signed-off-by: Vincent Jardin <vincent.jardin@6wind.com>
Diffstat (limited to 'lib/csv.c')
| -rw-r--r-- | lib/csv.c | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -284,6 +284,8 @@ csv_record_t *csv_encode_record(csv_t *csv, csv_record_t *rec, int count, ...) va_start(list, count); str = csv_field_iter(rec, &fld); + if (!fld) + return NULL; for (tempc = 0; tempc < count; tempc++) { col = va_arg(list, char *); for (i = 0; i < fld->field_len; i++) { |
