--- ucd-snmp-4.2.5/snmplib/snmp_api.c.DoS 2005-08-03 17:16:17.000000000 +0200 +++ ucd-snmp-4.2.5/snmplib/snmp_api.c 2005-08-03 17:22:12.000000000 +0200 @@ -4120,7 +4120,7 @@ else isp->proper_len = asn_check_packet(isp->packet, isp->packet_len); - if (isp->proper_len > MAX_PACKET_LENGTH) { + if (isp->proper_len > MAX_PACKET_LENGTH || isp->proper_len < 0) { /* illegal length, drop the connection */ snmp_log(LOG_ERR,"Maximum packet size exceeded in a request.\n"); isp->sd = -1;