mirror of
https://git.yoctoproject.org/poky
synced 2026-03-04 22:39:39 +01:00
Source: git://sourceware.org/git/binutils-gdb.git
MR: 74309
Type: Security Fix
Disposition: Backport from binutils-2_29-branch
ChangeID: 640c2ad711ead368a65079a464c55368851e8744
Description:
Fix a seg-fault disassembling a corrupt binary.
PR binutils/20892
* aoutx.h (find_nearest_line): Handle the case where the function
name is empty.
Affects: <= 2.29
(From OE-Core rev: 54992e752e396fc5b3bc5b067cfc4741f1176bb3)
Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
Reviewed-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
49 lines
1.6 KiB
Diff
49 lines
1.6 KiB
Diff
commit e82ab856bb4689330c29fb9f1c57a8555b26380e
|
|
Author: Nick Clifton <nickc@redhat.com>
|
|
Date: Thu Dec 1 10:49:39 2016 +0000
|
|
|
|
Fix a seg-fault disassembling a corrupt binary.
|
|
|
|
PR binutils/20892
|
|
* aoutx.h (find_nearest_line): Handle the case where the function
|
|
name is empty.
|
|
|
|
Upstream-Status: Backport
|
|
|
|
CVE: CVE-2017-7224
|
|
Signed-off-by: Thiruvadi Rajaraman <trajaraman@mvista.com>
|
|
|
|
Index: git/bfd/ChangeLog
|
|
===================================================================
|
|
--- git.orig/bfd/ChangeLog 2017-09-04 12:54:37.513859864 +0530
|
|
+++ git/bfd/ChangeLog 2017-09-04 13:00:22.891753836 +0530
|
|
@@ -120,6 +120,10 @@
|
|
* peicode.h (pe_ILF_object_p): Use strnlen to avoid running over
|
|
the end of the string buffer.
|
|
|
|
+ PR binutils/20892
|
|
+ * aoutx.h (find_nearest_line): Handle the case where the function
|
|
+ name is empty.
|
|
+
|
|
2016-08-02 Nick Clifton <nickc@redhat.com>
|
|
|
|
PR ld/17739
|
|
Index: git/bfd/aoutx.h
|
|
===================================================================
|
|
--- git.orig/bfd/aoutx.h 2017-09-04 12:54:35.957851411 +0530
|
|
+++ git/bfd/aoutx.h 2017-09-04 12:57:50.634902163 +0530
|
|
@@ -2819,6 +2819,13 @@
|
|
const char *function = func->name;
|
|
char *colon;
|
|
|
|
+ if (buf == NULL)
|
|
+ {
|
|
+ /* PR binutils/20892: In a corrupt input file func can be empty. */
|
|
+ * functionname_ptr = NULL;
|
|
+ return TRUE;
|
|
+ }
|
|
+
|
|
/* The caller expects a symbol name. We actually have a
|
|
function name, without the leading underscore. Put the
|
|
underscore back in, so that the caller gets a symbol name. */
|