From 43b798b7dd149782d9dbad58c1a849d6d528b1d2 Mon Sep 17 00:00:00 2001 From: Vincent JARDIN Date: Mon, 9 Oct 2017 12:42:11 +0200 Subject: [PATCH] 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 --- lib/csv.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/csv.c b/lib/csv.c index 0ad5c74be3..45582e3092 100644 --- a/lib/csv.c +++ b/lib/csv.c @@ -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++) { -- 2.39.5