From: Vincent JARDIN Date: Mon, 9 Oct 2017 10:42:11 +0000 (+0200) Subject: lib: fix NULL->field_len access X-Git-Tag: frr-4.0-dev~230^2~1 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=43b798b7dd149782d9dbad58c1a849d6d528b1d2;p=matthieu%2Ffrr.git 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 --- 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++) {