Bug 167694

Summary: Uninitialised free when running "info line main"
Product: Red Hat Enterprise Linux 4 Reporter: Bastien Nocera <bnocera>
Component: gdbAssignee: Jeff Johnston <jjohnstn>
Status: CLOSED ERRATA QA Contact: Jay Turner <jturner>
Severity: medium Docs Contact:
Priority: medium    
Version: 4.0CC: cagney, jjohnstn, srevivo
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: RHBA-2006-0106 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2006-03-07 18:19:04 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 168429    
Attachments:
Description Flags
gdb-info-list-main-uninit-free.patch none

Description Bastien Nocera 2005-09-07 09:55:16 UTC
+++ This bug was initially created as a clone of Bug #167693 +++

1. create a small hello world C program
2. compile it with debugging
3. run the program under gdb
4. type "info line main" in gdb
5. segfault

Reproduceable with the RHEL3 U5 gdb, and the RHEL4 U2 candidate.

valgrind says there's an invalid free:
==21896== Invalid free() / delete / delete[]
==21896==    at 0x3414A75D: free (vg_replace_malloc.c:153)
==21896==    by 0x80F3229: find_line_pc_range (symtab.c:2432)
==21896==    by 0x80DE1D9: ??? (source.c:1351)
==21896==    by 0x80845C5: execute_command (top.c:733)
==21896==  Address 0x9C5FDEE8 is on thread 1's stack
Line 5 of "tmp.c" starts at address 0x8048368 <main>
  and ends at 0x8048384 <main+28>.

In gdb/symtab.c, find_line_pc_range(), pc_list is only defined if startaddr is
0, but freed unconditionally. Patch attached.

Comment 1 Bastien Nocera 2005-09-07 09:55:17 UTC
Created attachment 118547 [details]
gdb-info-list-main-uninit-free.patch

Comment 2 Jeff Johnston 2005-09-22 21:51:43 UTC
As of gdb-6.3.0.0-1.67, the patch has been incorporated.

Comment 19 Red Hat Bugzilla 2006-03-07 18:19:04 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2006-0106.html