From: Mark Wielaard Date: Sat, 9 May 2020 21:31:05 +0000 (+0200) Subject: libcpu: Free unused new bitfield on error in i386_parse.y new_bitfield. X-Git-Tag: elfutils-0.180~6 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5d3b808238b01d27c0ee97e5415e4b6aac410781;p=thirdparty%2Felfutils.git libcpu: Free unused new bitfield on error in i386_parse.y new_bitfield. GCC10 -fanalyzer detected we didn't free the newly created bitfield on error. Make sure to free it before returning. Signed-off-by: Mark Wielaard --- diff --git a/libcpu/ChangeLog b/libcpu/ChangeLog index a8b2b951e..a342b7f64 100644 --- a/libcpu/ChangeLog +++ b/libcpu/ChangeLog @@ -1,3 +1,7 @@ +2020-05-09 Mark Wielaard + + * i386_parse.y (new_bitfield): Call free newp on error. + 2020-04-16 Mark Wielaard * i386_disasm.c (i386_disasm): Replace assert with goto invalid_op diff --git a/libcpu/i386_parse.y b/libcpu/i386_parse.y index 910d54581..90c7bd934 100644 --- a/libcpu/i386_parse.y +++ b/libcpu/i386_parse.y @@ -579,6 +579,7 @@ new_bitfield (char *name, unsigned long int num) error (0, 0, "%d: duplicated definition of bitfield '%s'", i386_lineno, name); free (name); + free (newp); return; }