lindberg@cs.chalmers.se (Gunnar Lindberg) (11/28/89)
I picked up snmp 1.0 from CMU (pub/cmu-snmp1.0.tar.Z, Oct 24 18:13)
not long ago and I think I've actually found a bug in it. If I tried
things like
snmpget ... ip.ipRoutingTable.ipRouteEntry.ipRouteNextHop.10.0.0.51
it would dump core before it actually got to sending out the question.
It seems like routine "parse_subtree()" in "snmplib/mib.c" tried to use
a NULL pointer when it looked up the "10.0.0.51" part of the string.
Now, I don't know much about ASN.1 so my fix might be doing the wrong
thing, but things seems to work reasonably well with it.
Gunnar Lindberg
=====================================================================
RCS file: mib.c,v
retrieving revision 1.2
diff -c -r1.2 mib.c
*** /tmp/,RCSt1a26347 Tue Nov 28 15:53:25 1989
--- mib.c Mon Nov 27 13:47:47 1989
***************
*** 620,625
if (*input != '.')
return (1);
if ((*out_len =
parse_subtree(tp->child_list, ++input, output, out_len)) == 0)
return (0);
--- 620,627 -----
if (*input != '.')
return (1);
+ if (tp)
+ tp = tp->child_list;
if ((*out_len =
parse_subtree(tp, ++input, output, out_len)) == 0)
return (0);
***************
*** 621,627
if (*input != '.')
return (1);
if ((*out_len =
! parse_subtree(tp->child_list, ++input, output, out_len)) == 0)
return (0);
return (++*out_len);
}
--- 623,629 -----
if (tp)
tp = tp->child_list;
if ((*out_len =
! parse_subtree(tp, ++input, output, out_len)) == 0)
return (0);
return (++*out_len);
}
=====================================================================