file: fix segfault in uci_parse_option
authorLuka Koznjak <luka.koznjak@sartura.hr>
Wed, 4 Dec 2019 20:36:34 +0000 (21:36 +0100)
committerLuka Perkov <luka.perkov@sartura.hr>
Mon, 27 Jan 2020 22:24:48 +0000 (23:24 +0100)
commite8d83732f9eb571dce71aa915ff38a072579610b
treed1a3cff243807aad79083750befa58dc8224195b
parentaa5e77a13d955ac9b497efc015c957c475734f0d
file: fix segfault in uci_parse_option

Fixed a segmentation fault caused by using a pointer to a reallocated
address. The name pointer in the uci_parse_option function
becomes invalid if assert_eol calls uci_realloc down the line,
resulting in a segmentation fault when attempting to dereference
name in a strcmp check in uci_lookup_list. A simple fix is
to call assert_eol before retrieving the actual address for
the name and type pointers.

The segmentation fault has been found while fuzzing the
uci configuration system for various types of different crashes
and undefined behavious, which resulted in multiple different
import files causing instability and sementation faults.

Signed-off-by: Luka Kožnjak <luka.koznjak@sartura.hr>
Signed-off-by: Juraj Vijtiuk <juraj.vijtiuk@sartura.hr>
CC: Luka Perkov <luka.perkov@sartura.hr>
file.c