From 9e16a100bf8e0d43415253fe8cfd3ba1d8e637d1 Mon Sep 17 00:00:00 2001 From: Luiz Angelo Daros de Luca Date: Sun, 17 Jun 2018 11:34:08 +0200 Subject: [PATCH] libdw: Initialize filelist earlier in dwarf_getsrclines.c read_srclines. I'm getting this error with 0.172: dwarf_getsrclines.c: In function 'read_srclines': dwarf_getsrclines.c:1074:7: error: 'filelist' may be used uninitialized in this function [-Werror=maybe-uninitialized] free (filelist); ^~~~~~~~~~~~~~~ It seems that gcc is right here as there is "ifs" that go to "out" (where filelist is freed) before freelist is initialized. Signed-off-by: Luiz Angelo Daros de Luca --- libdw/ChangeLog | 4 ++++ libdw/dwarf_getsrclines.c | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/libdw/ChangeLog b/libdw/ChangeLog index 329a994..bed6379 100644 --- a/libdw/ChangeLog +++ b/libdw/ChangeLog @@ -1,3 +1,7 @@ +2018-06-17 Luiz Angelo Daros de Luca + + * dwarf_getsrclines.c (read_srclines): Intialize filelist early. + 2018-06-15 Mark Wielaard * dwarf_getlocation.c (check_constant_offset): Clarify DW_FORM_data16 diff --git a/libdw/dwarf_getsrclines.c b/libdw/dwarf_getsrclines.c index bb512ec..8510538 100644 --- a/libdw/dwarf_getsrclines.c +++ b/libdw/dwarf_getsrclines.c @@ -153,6 +153,7 @@ read_srclines (Dwarf *dbg, { int res = -1; + struct filelist *filelist = NULL; size_t nfilelist = 0; size_t ndirlist = 0; @@ -445,7 +446,7 @@ read_srclines (Dwarf *dbg, }, .next = NULL }; - struct filelist *filelist = &null_file; + filelist = &null_file; nfilelist = 1; /* Allocate memory for a new file. For the first MAX_STACK_FILES -- 2.7.4