gdb/gdb-6.3-xfree-20050922.patch

22 lines
737 B
Diff

2005-09-22 Bastien Nocera <bnocera@redhat.com>
* symtab.c (find_line_pc_range): Don't free up pc_list
unconditionally as it may not be allocated.
--- gdb-6.3/gdb/symtab.c.fix 2005-09-22 16:24:06.000000000 -0400
+++ gdb-6.3/gdb/symtab.c 2005-09-22 16:26:17.000000000 -0400
@@ -2427,9 +2427,10 @@ find_line_pc_range (struct symtab_and_li
/* FIXME: have to handle ctors/dtors where line equates to multiple
pc ranges. */
if (startaddr == 0)
- startaddr = pc_list[0];
-
- xfree (pc_list);
+ {
+ startaddr = pc_list[0];
+ xfree (pc_list);
+ }
/* This whole function is based on address. For example, if line 10 has
two parts, one from 0x100 to 0x200 and one from 0x300 to 0x400, then