Bug 2089 - gets segv on /dev/ttyS1; clobbers stack; Thinkpad380ED
Summary: gets segv on /dev/ttyS1; clobbers stack; Thinkpad380ED
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: rhs-hwdiag
Version: 6.0
Hardware: i386
OS: Linux
Target Milestone: ---
Assignee: Bill Nottingham
QA Contact:
Depends On:
TreeView+ depends on / blocked
Reported: 1999-04-09 15:51 UTC by Marty Shannon
Modified: 2014-03-17 02:09 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 1999-08-09 18:27:38 UTC

Attachments (Terms of Use)

Description Marty Shannon 1999-04-09 15:51:45 UTC
rhs-hwdiag-0.35-2 gets a segmentation violation during/after
checking (the non-existant) /dev/ttyS1 on my IBM ThinkPad
380ED.  It manages to trash the stack (it shows "#0
0xff00ff00 in ?? ()" in a gdb stack trace).  Running it
again (under gdb), it fails again in a similar way, showing
"#0 0xff00ff in ?? ()" in the stack trace.

Comment 1 Cristian Gafton 1999-04-09 18:21:59 UTC
assigned to notting

Comment 2 Bill Nottingham 1999-05-24 15:39:59 UTC
can you rebuild this with debugging symbols and get a stack

Comment 3 Bill Nottingham 1999-06-23 21:20:59 UTC
closed due to lack of input.

Comment 4 Marty Shannon 1999-08-07 16:43:59 UTC
I just discovered by accident that hwdiag exhibits similar behavior
when run with the ide-scsi module loaded.  I'll track down some more
details & report what I find.  (SMP: dual PII, 768Meg RAM, 3 IDE disk,
1 IDE cdrom, Adaptec 3940 with 1 wide drive)

Comment 5 Marty Shannon 1999-08-07 16:58:59 UTC
Found it.  In lib/devprobe.c line 138, strdup() can be called with
s->fields[i]->value == 0.  If that call to strdup() is made
conditional on the value of s->fields[i]->value, all is happy
(although the CLASS field will be empty for the CDROM).

Comment 6 Bill Nottingham 1999-08-09 18:27:59 UTC
fixed in rhs-hwdiag-0.36-3, which will be in next Raw Hide

Note You need to log in before you can comment on or make changes to this bug.