diff options
author | Ilya Etingof <etingof@gmail.com> | 2017-07-13 16:12:56 +0200 |
---|---|---|
committer | Ilya Etingof <etingof@gmail.com> | 2017-07-13 16:12:56 +0200 |
commit | 59e9058972de79673ad273c914fe82bf11660386 (patch) | |
tree | 9511bf1879b98bda096f22e954d9a9515e52b954 /pysnmp/proto/mpmod | |
parent | 1cb1b5d3ab410b12c991cb2ff3c7d940ae67a9f6 (diff) | |
download | pysnmp-git-59e9058972de79673ad273c914fe82bf11660386.tar.gz |
fixed a crash happening on incomplete inbound SNMP message
Diffstat (limited to 'pysnmp/proto/mpmod')
-rw-r--r-- | pysnmp/proto/mpmod/rfc2576.py | 8 | ||||
-rw-r--r-- | pysnmp/proto/mpmod/rfc3412.py | 9 |
2 files changed, 2 insertions, 15 deletions
diff --git a/pysnmp/proto/mpmod/rfc2576.py b/pysnmp/proto/mpmod/rfc2576.py index 39442cff..1a0b3cf1 100644 --- a/pysnmp/proto/mpmod/rfc2576.py +++ b/pysnmp/proto/mpmod/rfc2576.py @@ -247,13 +247,7 @@ class SnmpV1MessageProcessingModel(AbstractMessageProcessingModel): mibBuilder = snmpEngine.msgAndPduDsp.mibInstrumController.mibBuilder # rfc3412: 7.2.2 - try: - msg, restOfWholeMsg = decoder.decode(wholeMsg, asn1Spec=self._snmpMsgSpec) - except PyAsn1Error: - debug.logger & debug.flagMP and debug.logger('prepareDataElements: %s' % (sys.exc_info()[1],)) - snmpInASNParseErrs, = mibBuilder.importSymbols('__SNMPv2-MIB', 'snmpInASNParseErrs') - snmpInASNParseErrs.syntax += 1 - raise error.StatusInformation(errorIndication=errind.parseError) + msg, restOfWholeMsg = decoder.decode(wholeMsg, asn1Spec=self._snmpMsgSpec) debug.logger & debug.flagMP and debug.logger('prepareDataElements: %s' % (msg.prettyPrint(),)) diff --git a/pysnmp/proto/mpmod/rfc3412.py b/pysnmp/proto/mpmod/rfc3412.py index 9f60c57e..4636f779 100644 --- a/pysnmp/proto/mpmod/rfc3412.py +++ b/pysnmp/proto/mpmod/rfc3412.py @@ -469,14 +469,7 @@ class SnmpV3MessageProcessingModel(AbstractMessageProcessingModel): def prepareDataElements(self, snmpEngine, transportDomain, transportAddress, wholeMsg): # 7.2.2 - try: - msg, restOfwholeMsg = decoder.decode(wholeMsg, asn1Spec=self._snmpMsgSpec) - - except PyAsn1Error: - debug.logger & debug.flagMP and debug.logger('prepareDataElements: %s' % (sys.exc_info()[1],)) - snmpInASNParseErrs, = snmpEngine.msgAndPduDsp.mibInstrumController.mibBuilder.importSymbols('__SNMPv2-MIB', 'snmpInASNParseErrs') - snmpInASNParseErrs.syntax += 1 - raise error.StatusInformation(errorIndication=errind.parseError) + msg, restOfwholeMsg = decoder.decode(wholeMsg, asn1Spec=self._snmpMsgSpec) debug.logger & debug.flagMP and debug.logger('prepareDataElements: %s' % (msg.prettyPrint(),)) |