forked from openwrt/openwrt
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add a patch still under review to fix some errors. Refresh patch: - 003-libintl-compatibility.patch - 005-build_only_libs.patch - 006-Fix-build-on-aarch64-musl.patch Add patch: - 102-fix-potential-deref-of-null-error.patch Release notes are in the link below. Link: https://inbox.sourceware.org/elfutils-devel/CAJDtP-T3+gXqHWp3T0mejWWbPr0_1tHetEXwfB67-o+zz7ShiA@mail.gmail.com/T/#u Signed-off-by: Ryan Keane <[email protected]> Link: openwrt#16886 Signed-off-by: Robert Marko <[email protected]>
- Loading branch information
Showing
5 changed files
with
61 additions
and
6 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -7,12 +7,12 @@ | |
include $(TOPDIR)/rules.mk | ||
|
||
PKG_NAME:=elfutils | ||
PKG_VERSION:=0.191 | ||
PKG_VERSION:=0.192 | ||
PKG_RELEASE:=1 | ||
|
||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 | ||
PKG_SOURCE_URL:=https://sourceware.org/$(PKG_NAME)/ftp/$(PKG_VERSION) | ||
PKG_HASH:=df76db71366d1d708365fc7a6c60ca48398f14367eb2b8954efc8897147ad871 | ||
PKG_HASH:=616099beae24aba11f9b63d86ca6cc8d566d968b802391334c91df54eab416b4 | ||
|
||
PKG_MAINTAINER:=Luiz Angelo Daros de Luca <[email protected]> | ||
PKG_LICENSE:=GPL-3.0-or-later | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -32,8 +32,8 @@ Signed-off-by: Hongxu Jia <[email protected]> | |
+# include <sys/uio.h> | ||
# include <sys/user.h> | ||
# include <sys/ptrace.h> | ||
/* Deal with old glibc defining user_pt_regs instead of user_regs_struct. */ | ||
@@ -82,7 +82,7 @@ aarch64_set_initial_registers_tid (pid_t | ||
# include <asm/ptrace.h> | ||
@@ -94,7 +94,7 @@ aarch64_set_initial_registers_tid (pid_t | ||
|
||
Dwarf_Word dwarf_fregs[32]; | ||
for (int r = 0; r < 32; r++) | ||
|
55 changes: 55 additions & 0 deletions
55
package/libs/elfutils/patches/102-fix-potential-deref-of-null-error.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
strip.c: Pointer `arhdr` created at strip.c:2741 and then dereferenced without NULL-check. | ||
The same situation for the `arhdr` pointer at the objdump.c:313 and | ||
the `h` pointer at the readelf.c:13545. | ||
|
||
Triggers found by static analyzer Svace. | ||
|
||
Signed-off-by: Maks Mishin <[email protected]> | ||
--- | ||
src/objdump.c | 5 +++++ | ||
src/readelf.c | 5 +++++ | ||
src/strip.c | 5 +++++ | ||
3 files changed, 15 insertions(+) | ||
|
||
--- a/src/objdump.c | ||
+++ b/src/objdump.c | ||
@@ -311,6 +311,11 @@ handle_ar (int fd, Elf *elf, const char | ||
{ | ||
/* The the header for this element. */ | ||
Elf_Arhdr *arhdr = elf_getarhdr (subelf); | ||
+ if (arhdr == NULL) | ||
+ { | ||
+ printf ("cannot get arhdr: %s\n", elf_errmsg (-1)); | ||
+ exit (1); | ||
+ } | ||
|
||
/* Skip over the index entries. */ | ||
if (strcmp (arhdr->ar_name, "/") != 0 | ||
--- a/src/readelf.c | ||
+++ b/src/readelf.c | ||
@@ -13543,6 +13543,11 @@ dump_archive_index (Elf *elf, const char | ||
as_off, fname, elf_errmsg (-1)); | ||
|
||
const Elf_Arhdr *h = elf_getarhdr (subelf); | ||
+ if (h == NULL) | ||
+ { | ||
+ printf ("cannot get arhdr: %s\n", elf_errmsg (-1)); | ||
+ exit (1); | ||
+ } | ||
|
||
printf (_("Archive member '%s' contains:\n"), h->ar_name); | ||
|
||
--- a/src/strip.c | ||
+++ b/src/strip.c | ||
@@ -2739,6 +2739,11 @@ handle_ar (int fd, Elf *elf, const char | ||
{ | ||
/* The the header for this element. */ | ||
Elf_Arhdr *arhdr = elf_getarhdr (subelf); | ||
+ if (arhdr == NULL) | ||
+ { | ||
+ printf ("cannot get arhdr: %s\n", elf_errmsg (-1)); | ||
+ exit (1); | ||
+ } | ||
|
||
if (elf_kind (subelf) == ELF_K_ELF) | ||
result |= handle_elf (fd, subelf, new_prefix, arhdr->ar_name, 0, NULL); |