2005-09-22 Bastien Nocera * 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