Bug 136070 - sysp crash
Summary: sysp crash
Status: RESOLVED FIXED
Alias: None
Product: SUSE Linux 10.1
Classification: openSUSE
Component: SaX2 (show other bugs)
Version: unspecified
Hardware: IA64 Other
: P5 - None : Normal (vote)
Target Milestone: ---
Assignee: Marcus Schaefer
QA Contact: E-mail List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-11-30 14:09 UTC by Andreas Schwab
Modified: 2005-11-30 14:28 UTC (History)
0 users

See Also:
Found By: Other
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andreas Schwab 2005-11-30 14:09:57 UTC
Starting program: /usr/sbin/sysp -s xstuff

Program received signal SIGSEGV, Segmentation fault.
0x400000000009b661 in vesaBIOS ()
(gdb) bt
#0  0x400000000009b661 in vesaBIOS ()
#1  0x40000000000789e0 in ScanXStuff::Scan ()
#2  0x40000000000100b0 in ScanModule ()
#3  0x4000000000010b40 in main ()
#4  0x20000000005920f0 in __libc_start_main (main=0, argc=Cannot access memory at address 0x0
) at libc-start.c:209
#5  0x4000000000008640 in _start ()
Comment 1 Andreas Schwab 2005-11-30 14:18:08 UTC
hd_list returns NULL.
Comment 2 Marcus Schaefer 2005-11-30 14:21:03 UTC
Hmm, if you call hwinfo --vbe does this produce any usefull result ?
by the way I tried to test on brouwer which causes the machine to lock up
a few weeks ago this doesn't happen. I'm sorry
Comment 3 Marcus Schaefer 2005-11-30 14:28:21 UTC
I think I found the bug:

 vbios.c

 hd = hd_list(hd_data, hw_vbe, 1, NULL)
 if (!hd->detail || hd->detail->type != hd_detail_bios) {
   ...
 }

if hd is null the code above will crash. I added

hd = hd_list(hd_data, hw_vbe, 1, NULL)
if (! hd) {
   return 0;
}

the return code from the function is handled correctly