From: Petr Štetiar Date: Mon, 4 Nov 2019 18:46:13 +0000 (+0100) Subject: cli: fix realloc issue spotted by cppcheck X-Git-Url: http://git.openwrt.org/project/uci.git?a=commitdiff_plain;h=f5dd5217d6277739b6208771b45787cddd323576;p=project%2Fuci.git cli: fix realloc issue spotted by cppcheck Cppcheck 1.90 dev reports following: cli.c:117:4: error: Common realloc mistake: 'typestr' nulled but not freed upon failure [memleakOnRealloc] typestr = realloc(typestr, maxlen); ^ Signed-off-by: Petr Štetiar --- diff --git a/cli.c b/cli.c index f8b45db..1ce4d5e 100644 --- a/cli.c +++ b/cli.c @@ -113,8 +113,16 @@ uci_lookup_section_ref(struct uci_section *s) maxlen = strlen(s->type) + 1 + 2 + 10; if (!typestr) { typestr = malloc(maxlen); + if (!typestr) + return NULL; } else { - typestr = realloc(typestr, maxlen); + void *p = realloc(typestr, maxlen); + if (!p) { + free(typestr); + return NULL; + } + + typestr = p; } if (typestr)