From 22b8da0ae7a9fa524b639623c66df63bd0beaf7c Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Thu, 9 Jun 2022 23:19:03 +0930 Subject: [PATCH] asan: applying zero offset to NULL pointer * dwarf.c (fetch_indexed_string): Move initialisation of "curr" and "end" after checking for missing section. --- binutils/dwarf.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/binutils/dwarf.c b/binutils/dwarf.c index caa3ce48d00..c16f5a891b7 100644 --- a/binutils/dwarf.c +++ b/binutils/dwarf.c @@ -700,8 +700,7 @@ fetch_indexed_string (dwarf_vma idx, struct cu_tu_set *this_set, dwarf_vma index_offset; dwarf_vma str_offset; const char * ret; - unsigned char *curr = index_section->start; - unsigned char *end = curr + index_section->size; + unsigned char *curr, *end; dwarf_vma length; if (index_section->start == NULL) @@ -712,6 +711,8 @@ fetch_indexed_string (dwarf_vma idx, struct cu_tu_set *this_set, return (dwo ? _("") : _("")); + curr = index_section->start; + end = curr + index_section->size; /* FIXME: We should cache the length... */ SAFE_BYTE_GET_AND_INC (length, curr, 4, end); if (length == 0xffffffff) -- 2.30.2