diff --git a/_gdb.spec.Patch.include b/_gdb.spec.Patch.include index a5806be..ebd3b27 100644 --- a/_gdb.spec.Patch.include +++ b/_gdb.spec.Patch.include @@ -236,3 +236,7 @@ Patch055: gdb-rhbz2177655-aarch64-pauth-valid-regcache.patch # (Tom Tromey, RHBZ 2183595) Patch056: gdb-rhbz2183595-rustc-inside_main.patch +# Backport "Fix a potential illegal memory access in the BFD library..." +# (Nick Clifton, binutils/29988) +Patch057: gdb-binutils29988-read_indexed_address.patch + diff --git a/_gdb.spec.patch.include b/_gdb.spec.patch.include index 46efc44..c13c1cc 100644 --- a/_gdb.spec.patch.include +++ b/_gdb.spec.patch.include @@ -54,3 +54,4 @@ %patch -p1 -P054 %patch -p1 -P055 %patch -p1 -P056 +%patch -p1 -P057 diff --git a/_patch_order b/_patch_order index 1c80644..8630b24 100644 --- a/_patch_order +++ b/_patch_order @@ -54,3 +54,4 @@ gdb-libexec-add-index.patch gdb-rhbz1553104-s390x-arch12-test.patch gdb-rhbz2177655-aarch64-pauth-valid-regcache.patch gdb-rhbz2183595-rustc-inside_main.patch +gdb-binutils29988-read_indexed_address.patch diff --git a/gdb-binutils29988-read_indexed_address.patch b/gdb-binutils29988-read_indexed_address.patch new file mode 100644 index 0000000..af44d12 --- /dev/null +++ b/gdb-binutils29988-read_indexed_address.patch @@ -0,0 +1,24 @@ +From FEDORA_PATCHES Mon Sep 17 00:00:00 2001 +From: Nick Clifton +Date: Wed, 11 Jan 2023 12:13:46 +0000 +Subject: gdb-binutils29988-read_indexed_address.patch + +;; Backport "Fix a potential illegal memory access in the BFD library..." +;; (Nick Clifton, binutils/29988) + + PR 29988 + * dwarf2.c (read_indexed_address): Fix check for an out of range + offset. + +diff --git a/bfd/dwarf2.c b/bfd/dwarf2.c +--- a/bfd/dwarf2.c ++++ b/bfd/dwarf2.c +@@ -1412,7 +1412,7 @@ read_indexed_address (uint64_t idx, struct comp_unit *unit) + offset += unit->dwarf_addr_offset; + if (offset < unit->dwarf_addr_offset + || offset > file->dwarf_addr_size +- || file->dwarf_addr_size - offset < unit->offset_size) ++ || file->dwarf_addr_size - offset < unit->addr_size) + return 0; + + info_ptr = file->dwarf_addr_buffer + offset; diff --git a/gdb.spec b/gdb.spec index 886616c..cef8cbf 100644 --- a/gdb.spec +++ b/gdb.spec @@ -1249,6 +1249,10 @@ fi %endif %changelog +* Tue Apr 11 2023 Keith Seitz +- Backport "Fix a potential illegal memory access in the BFD library..." + (Nick Clifton, binutils/29988) + * Fri Mar 31 2023 Keith Seitz - 13.1-4 - Backport "Fix crash in inside_main_func" (Tom Tromey, RHBZ 2183595)