From: Mark Wielaard Date: Thu, 6 Apr 2023 14:49:27 +0000 (+0200) Subject: backends: Check results for NULL early in dwarf_peeled_die_type X-Git-Tag: elfutils-0.190~67 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3daddabd5d619bc2316813a5676d9be34ad3f6ac;p=thirdparty%2Felfutils.git backends: Check results for NULL early in dwarf_peeled_die_type Calling dwarf_peeled_die_type with a NULL results pointer is an error, check early that result is not NULL so dwarf_formref_die and dwarf_peel_type won't try to set the NULL Dwarf_Die. * backends/libebl_CPU.h (dwarf_peeled_die_type): Move check for results == NULL to start of function. Signed-off-by: Mark Wielaard --- diff --git a/backends/libebl_CPU.h b/backends/libebl_CPU.h index 3b2cc3e49..d138f5f7e 100644 --- a/backends/libebl_CPU.h +++ b/backends/libebl_CPU.h @@ -66,13 +66,13 @@ dwarf_peeled_die_type (Dwarf_Die *die, Dwarf_Die *result) /* The function has no return value, like a `void' function in C. */ return 0; - if (dwarf_formref_die (attr, result) == NULL) + if (result == NULL) return -1; - if (dwarf_peel_type (result, result) != 0) + if (dwarf_formref_die (attr, result) == NULL) return -1; - if (result == NULL) + if (dwarf_peel_type (result, result) != 0) return -1; int tag = dwarf_tag (result);