diff options
author | Luiz Angelo Daros de Luca <luizluca@gmail.com> | 2018-06-17 11:34:08 +0200 |
---|---|---|
committer | Mark Wielaard <mark@klomp.org> | 2018-06-18 13:28:48 +0200 |
commit | 9e16a100bf8e0d43415253fe8cfd3ba1d8e637d1 (patch) | |
tree | e5d9d199775a34862b2767cebc350935ba612c86 /libdw | |
parent | 62aed3f99ce6229a7bf6b1a6e66c49d9e676680f (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/ChangeLog | 4 | ||||
-rw-r--r-- | libdw/dwarf_getsrclines.c | 3 |
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 |