25 lines
838 B
Diff
25 lines
838 B
Diff
|
From FEDORA_PATCHES Mon Sep 17 00:00:00 2001
|
||
|
From: Nick Clifton <nickc@redhat.com>
|
||
|
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;
|