[PATCH] src: fix DEREF_OF_NULL.RET.STAT in unstrip.c
Anton Moryakov
ant.v.moryakov@gmail.com
Thu Feb 13 17:19:44 GMT 2025
Static analyzer reported:
Return value of a function 'elf_getdata' is dereferenced at unstrip.c:1977
without checking for NULL, but it is usually checked for this function (97/101).
Corrections explained:
- Added a check for NULL for the symstrdata variable before calling dwelf_strtab_finalize.
- If symstrdata is NULL, the program exits with an error.
Triggers found by static analyzer Svace.
Signed-off-by: Anton Moryakov <ant.v.moryakov@gmail.com>
---
src/unstrip.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/unstrip.c b/src/unstrip.c
index d70053de..35c04700 100644
--- a/src/unstrip.c
+++ b/src/unstrip.c
@@ -1974,6 +1974,9 @@ more sections in stripped file than debug file -- arguments reversed?"));
}
}
+ if (symstrdata == NULL)
+ error_exit (0, "Failed to get data from symbol string table");
+
if (dwelf_strtab_finalize (symstrtab, symstrdata) == NULL)
error_exit (0, "Not enough memory to create symbol table");
--
2.30.2
More information about the Elfutils-devel
mailing list