diff options
author | Mark Wielaard <mjw@redhat.com> | 2016-02-12 23:59:32 +0100 |
---|---|---|
committer | Mark Wielaard <mjw@redhat.com> | 2016-02-22 12:09:25 +0100 |
commit | c3aa57416566c97888abbc5c2ef4631c8c9e16f0 (patch) | |
tree | e44d19e5664942eb7868e2e2412648d0c772bb50 /libasm | |
parent | 2f289fa9e34c7cf67403907a354abe8ecaf380d2 (diff) |
Fix GCC6 -Wnull-dereference warnings.
asm_begin.c: In function ‘asm_begin’:
asm_begin.c:62:7: error: potential null pointer dereference [-Werror=null-dereference]
__fsetlocking (result->out.file, FSETLOCKING_BYCALLER);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
We set result to NULL just before this call in case of error.
Fixed by only calling __fsetlocking when result is not NULL.
strip.c: In function ‘handle_elf.constprop’:
strip.c:1270:31: error: null pointer dereference [-Werror=null-dereference]
elf_assert ((versiondata->d_size / sizeof (Elf32_Word))
~~~~~~~~~~~^~~
src/strip.c:597:37: note: in definition of macro ‘elf_assert’
#define elf_assert(test) do { if (!(test)) goto illformed; } while (0)
^~~~
That is the wrong check, we want to check shndxdata, not versiondata here.
Signed-off-by: Mark Wielaard <mjw@redhat.com>
Diffstat (limited to 'libasm')
-rw-r--r-- | libasm/ChangeLog | 5 | ||||
-rw-r--r-- | libasm/asm_begin.c | 4 |
2 files changed, 7 insertions, 2 deletions
diff --git a/libasm/ChangeLog b/libasm/ChangeLog index beb6211c..a8ac2c7c 100644 --- a/libasm/ChangeLog +++ b/libasm/ChangeLog @@ -1,3 +1,8 @@ +2016-02-12 Mark Wielaard <mjw@redhat.com> + + * asm_begin.c (prepare_text_output): Only call __fsetlocking when + result isn't NULL. + 2015-10-05 Josh Stone <jistone@redhat.com> * Makefile.am (libasm.so): Add AM_V_CCLD and AM_V_at silencers. diff --git a/libasm/asm_begin.c b/libasm/asm_begin.c index ff4d94c2..dc83cd8b 100644 --- a/libasm/asm_begin.c +++ b/libasm/asm_begin.c @@ -58,8 +58,8 @@ prepare_text_output (AsmCtx_t *result) free (result); result = NULL; } - - __fsetlocking (result->out.file, FSETLOCKING_BYCALLER); + else + __fsetlocking (result->out.file, FSETLOCKING_BYCALLER); } return result; |