The libsmi parser memory faults when parsing mibs/ietf/DOT12-RPTR-MIB.
Repeat by running
smilint mibs/ietf/DOT12-RPTR-MIB
after installing libsmi. This happened to me under RedHat 9 (gcc
3.2.2/x86) and RedHat 7.3 (gcc 2.96/x86).
The parser usually runs off the rails thus:
$ gdb /usr/local/bin/smilint
[stuff omitted]
(gdb) run mibs/ietf/DOT12-RPTR-MIB
Starting program: /usr/local/bin/smilint mibs/ietf/DOT12-RPTR-MIB
mibs/ietf/DOT12-RPTR-MIB:36: revision for last update is missing
mibs/ietf/DOT12-RPTR-MIB:151: warning: use Integer32 instead of INTEGER
in SMIv2
Program received signal SIGSEGV, Segmentation fault.
0x40037b15 in checkObjects (parserPtr=0xbffff5f0, modulePtr=0x80559a0)
at parser-smi.y:220
220 if (objectPtr->nodePtr->parentPtr &&
(gdb) where
#0 0x40037b15 in checkObjects (parserPtr=0xbffff5f0, modulePtr=0x80559a0)
at parser-smi.y:220
#1 0x4003a26c in smiparse (parserPtr=0xbffff5f0) at parser-smi.y:1641
#2 0x40031021 in loadModule (
modulename=0xbffff841 "mibs/ietf/DOT12-RPTR-MIB", parserPtr=0x0)
at data.c:3792
#3 0x40035110 in smiLoadModule (module=0xbffff841
"mibs/ietf/DOT12-RPTR-MIB")
at smi.c:416
#4 0x080492f2 in main (argc=2, argv=0xbffff6f4) at smilint.c:314
#5 0x42017589 in __libc_start_main () from /lib/i686/libc.so.6
(gdb) print objectPtr->nodePtr->parentPtr
$1 = (struct Node *) 0x62696d2f
Running with ElectricFence and EF_PROTECT_BELOW on turns up a problem,
if that helps. I can provide details if that would help.