Import patch from mainline to fix seg-fault when reading corrupt srec fields.
Resolves: BZ #1156272
This commit is contained in:
parent
d7c31854e8
commit
09883f6445
41
binutils-2.24-corrupt-srec.patch
Normal file
41
binutils-2.24-corrupt-srec.patch
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
*** ../binutils-2.24.orig/bfd/srec.c 2014-10-24 15:34:34.156138230 +0100
|
||||||
|
--- bfd/srec.c 2014-10-24 15:42:41.462592601 +0100
|
||||||
|
*************** srec_scan (bfd *abfd)
|
||||||
|
*** 455,461 ****
|
||||||
|
{
|
||||||
|
file_ptr pos;
|
||||||
|
char hdr[3];
|
||||||
|
! unsigned int bytes;
|
||||||
|
bfd_vma address;
|
||||||
|
bfd_byte *data;
|
||||||
|
unsigned char check_sum;
|
||||||
|
--- 455,461 ----
|
||||||
|
{
|
||||||
|
file_ptr pos;
|
||||||
|
char hdr[3];
|
||||||
|
! unsigned int bytes, min_bytes;
|
||||||
|
bfd_vma address;
|
||||||
|
bfd_byte *data;
|
||||||
|
unsigned char check_sum;
|
||||||
|
*************** srec_scan (bfd *abfd)
|
||||||
|
*** 478,483 ****
|
||||||
|
--- 478,496 ----
|
||||||
|
}
|
||||||
|
|
||||||
|
check_sum = bytes = HEX (hdr + 1);
|
||||||
|
+ min_bytes = 3;
|
||||||
|
+ if (hdr[0] == '2' || hdr[0] == '8')
|
||||||
|
+ min_bytes = 4;
|
||||||
|
+ else if (hdr[0] == '3' || hdr[0] == '7')
|
||||||
|
+ min_bytes = 5;
|
||||||
|
+ if (bytes < min_bytes)
|
||||||
|
+ {
|
||||||
|
+ (*_bfd_error_handler) (_("%B:%d: byte count %d too small\n"),
|
||||||
|
+ abfd, lineno, bytes);
|
||||||
|
+ bfd_set_error (bfd_error_bad_value);
|
||||||
|
+ goto error_return;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
if (bytes * 2 > bufsize)
|
||||||
|
{
|
||||||
|
if (buf != NULL)
|
@ -19,7 +19,7 @@
|
|||||||
Summary: A GNU collection of binary utilities
|
Summary: A GNU collection of binary utilities
|
||||||
Name: %{?cross}binutils%{?_with_debug:-debug}
|
Name: %{?cross}binutils%{?_with_debug:-debug}
|
||||||
Version: 2.24
|
Version: 2.24
|
||||||
Release: 23%{?dist}
|
Release: 24%{?dist}
|
||||||
License: GPLv3+
|
License: GPLv3+
|
||||||
Group: Development/Tools
|
Group: Development/Tools
|
||||||
URL: http://sources.redhat.com/binutils
|
URL: http://sources.redhat.com/binutils
|
||||||
@ -72,6 +72,7 @@ Patch27: binutils-2.24-aarch64-fix-gotplt-offset-ifunc.patch
|
|||||||
Patch28: binutils-2.24-aarch64-fix-static-ifunc.patch
|
Patch28: binutils-2.24-aarch64-fix-static-ifunc.patch
|
||||||
Patch29: binutils-2.24-aarch64-fix-ie-relax.patch
|
Patch29: binutils-2.24-aarch64-fix-ie-relax.patch
|
||||||
Patch30: binutils-HEAD-change-ld-notice-interface.patch
|
Patch30: binutils-HEAD-change-ld-notice-interface.patch
|
||||||
|
Patch31: binutils-2.24-corrupt-srec.patch
|
||||||
|
|
||||||
Provides: bundled(libiberty)
|
Provides: bundled(libiberty)
|
||||||
|
|
||||||
@ -206,6 +207,7 @@ using libelf instead of BFD.
|
|||||||
%patch28 -p1 -b .aa64-2~
|
%patch28 -p1 -b .aa64-2~
|
||||||
%patch29 -p1 -b .aa64-3~
|
%patch29 -p1 -b .aa64-3~
|
||||||
%patch30 -p1 -b .ldplugin~
|
%patch30 -p1 -b .ldplugin~
|
||||||
|
%patch31 -p0 -b .srec~
|
||||||
|
|
||||||
# We cannot run autotools as there is an exact requirement of autoconf-2.59.
|
# We cannot run autotools as there is an exact requirement of autoconf-2.59.
|
||||||
|
|
||||||
@ -520,6 +522,10 @@ exit 0
|
|||||||
%endif # %{isnative}
|
%endif # %{isnative}
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Oct 24 2014 Nick Clifton <nickc@redhat.com> - 2.24-24
|
||||||
|
- Import patch from mainline to fix seg-fault when reading corrupt srec fields.
|
||||||
|
Resolves: BZ #1156272
|
||||||
|
|
||||||
* Mon Aug 25 2014 Kyle McMartin <kmcmarti@redhat.com> - 2.24-23
|
* Mon Aug 25 2014 Kyle McMartin <kmcmarti@redhat.com> - 2.24-23
|
||||||
- aarch64: increase common page size to 64KB
|
- aarch64: increase common page size to 64KB
|
||||||
- binutils-HEAD-change-ld-notice-interface.patch: backport fix from HEAD
|
- binutils-HEAD-change-ld-notice-interface.patch: backport fix from HEAD
|
||||||
|
Loading…
Reference in New Issue
Block a user