summaryrefslogtreecommitdiffstats
path: root/libdw
diff options
context:
space:
mode:
authorLuiz Angelo Daros de Luca <luizluca@gmail.com>2018-06-17 11:34:08 +0200
committerMark Wielaard <mark@klomp.org>2018-06-18 13:28:48 +0200
commit9e16a100bf8e0d43415253fe8cfd3ba1d8e637d1 (patch)
treee5d9d199775a34862b2767cebc350935ba612c86 /libdw
parent62aed3f99ce6229a7bf6b1a6e66c49d9e676680f (diff)
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 <luizluca@gmail.com>
Diffstat (limited to 'libdw')
-rw-r--r--libdw/ChangeLog4
-rw-r--r--libdw/dwarf_getsrclines.c3
2 files changed, 6 insertions, 1 deletions
diff --git a/libdw/ChangeLog b/libdw/ChangeLog
index 329a994d..bed63794 100644
--- a/libdw/ChangeLog
+++ b/libdw/ChangeLog
@@ -1,3 +1,7 @@
+2018-06-17 Luiz Angelo Daros de Luca <luizluca@gmail.com>
+
+ * dwarf_getsrclines.c (read_srclines): Intialize filelist early.
+
2018-06-15 Mark Wielaard <mark@klomp.org>
* dwarf_getlocation.c (check_constant_offset): Clarify DW_FORM_data16
diff --git a/libdw/dwarf_getsrclines.c b/libdw/dwarf_getsrclines.c
index bb512ec6..85105387 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