Fix decoding DW_FORM_ref_addr in DWARF-5 data.

Resolves: #1960658
This commit is contained in:
Nick Clifton 2021-05-18 12:59:35 +01:00
parent ba0f4ef1db
commit 599325c40c
2 changed files with 19 additions and 1 deletions

View File

@ -0,0 +1,11 @@
--- binutils.orig/bfd/dwarf2.c 2021-05-18 12:00:10.363028020 +0100
+++ binutils-2.35.2/bfd/dwarf2.c 2021-05-18 12:01:09.930831909 +0100
@@ -1194,7 +1194,7 @@ read_attribute_value (struct attribute *
case DW_FORM_ref_addr:
/* DW_FORM_ref_addr is an address in DWARF2, and an offset in
DWARF3. */
- if (unit->version == 3 || unit->version == 4)
+ if (unit->version >= 3)
{
if (unit->offset_size == 4)
attr->u.val = read_4_bytes (unit->abfd, info_ptr, info_ptr_end);

View File

@ -39,7 +39,7 @@
Summary: A GNU collection of binary utilities
Name: binutils%{?name_cross}%{?_with_debug:-debug}
Version: 2.35.2
Release: 2%{?dist}
Release: 3%{?dist}
License: GPLv3+
URL: https://sourceware.org/binutils
@ -369,6 +369,10 @@ Patch43: binutils-libiberty-sha1.patch
# Lifetime: Fixed in 2.36
Patch44: binutils-linker-string-copy.patch
# Purpose: Fix decoding DWARF-5 DW_FORM_ref_addr attributes
# Lifetime: Fixed in 2.37
Patch45: binutils-DWARF-5-FORM_ref_addr.patch
#----------------------------------------------------------------------------
Provides: bundled(libiberty)
@ -954,6 +958,9 @@ exit 0
#----------------------------------------------------------------------------
%changelog
* Tue May 18 2021 Nick Clifton <nickc@redhat.com> - 2.35.2-3
- Fix decoding DW_FORM_ref_addr in DWARF-5 data. (#1960658)
* Fri May 07 2021 Nick Clifton <nickc@redhat.com> - 2.35.2-2
- Fix potential buffer corruption in sha1 code in libiberty library. (#1954138)
- Fix potential buffer corruption in sha1 code in linker. (#1954139)