diff options
Diffstat (limited to 'main/gdb/80_all_gdb-6.5-dwarf-stack-overflow.patch')
-rw-r--r-- | main/gdb/80_all_gdb-6.5-dwarf-stack-overflow.patch | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/main/gdb/80_all_gdb-6.5-dwarf-stack-overflow.patch b/main/gdb/80_all_gdb-6.5-dwarf-stack-overflow.patch deleted file mode 100644 index 2c3c2cbae..000000000 --- a/main/gdb/80_all_gdb-6.5-dwarf-stack-overflow.patch +++ /dev/null @@ -1,54 +0,0 @@ -http://bugs.gentoo.org/144833 - -for gdb/ChangeLog: -2006-08-22 Will Drewry <wad@google.com> - Tavis Ormandy <taviso@google.com> - - * dwarf2read.c (decode_locdesc): Enforce location description stack - boundaries. - * dwarfread.c (locval): Likewise. - -2007-10-15 Jan Kratochvil <jan.kratochvil@redhat.com> - - Port to GDB-6.7. - -Index: gdb-6.7/gdb/dwarf2read.c -=================================================================== ---- gdb-6.7.orig/gdb/dwarf2read.c 2007-10-15 00:08:30.000000000 +0200 -+++ gdb-6.7/gdb/dwarf2read.c 2007-10-15 21:42:43.000000000 +0200 -@@ -9070,8 +9070,7 @@ dwarf2_fundamental_type (struct objfile - callers will only want a very basic result and this can become a - complaint. - -- Note that stack[0] is unused except as a default error return. -- Note that stack overflow is not yet handled. */ -+ Note that stack[0] is unused except as a default error return. */ - - static CORE_ADDR - decode_locdesc (struct dwarf_block *blk, struct dwarf2_cu *cu) -@@ -9088,7 +9087,7 @@ decode_locdesc (struct dwarf_block *blk, - - i = 0; - stacki = 0; -- stack[stacki] = 0; -+ stack[++stacki] = 0; - - while (i < size) - { -@@ -9270,6 +9269,16 @@ decode_locdesc (struct dwarf_block *blk, - dwarf_stack_op_name (op)); - return (stack[stacki]); - } -+ /* Enforce maximum stack depth of size-1 to avoid ++stacki writing -+ outside of the allocated space. Also enforce minimum > 0. -+ -- wad@google.com 14 Aug 2006 */ -+ if (stacki >= sizeof (stack) / sizeof (*stack) - 1) -+ internal_error (__FILE__, __LINE__, -+ _("location description stack too deep: %d"), -+ stacki); -+ if (stacki <= 0) -+ internal_error (__FILE__, __LINE__, -+ _("location description stack too shallow")); - } - return (stack[stacki]); - } |