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.
assigned to notting
can you rebuild this with debugging symbols and get a stack
closed due to lack of input.
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)
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).
fixed in rhs-hwdiag-0.36-3, which will be in next Raw Hide