summaryrefslogtreecommitdiff
path: root/pysnmp/proto
diff options
context:
space:
mode:
authorelie <elie>2014-02-01 20:55:45 +0000
committerelie <elie>2014-02-01 20:55:45 +0000
commitd288b7719a5981803e1f52fcc6b497aaa4f0a430 (patch)
treea9f03af0d0e8bdb2f23d8a0f1d11f952142eef1f /pysnmp/proto
parent2c0a9c2a20272051a1f74027190663b6b7cda39c (diff)
downloadpysnmp-d288b7719a5981803e1f52fcc6b497aaa4f0a430.tar.gz
check for end-of-octets in version
Diffstat (limited to 'pysnmp/proto')
-rw-r--r--pysnmp/proto/api/verdec.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/pysnmp/proto/api/verdec.py b/pysnmp/proto/api/verdec.py
index 34d5c8f..8895f27 100644
--- a/pysnmp/proto/api/verdec.py
+++ b/pysnmp/proto/api/verdec.py
@@ -1,5 +1,5 @@
from pyasn1.type import univ
-from pyasn1.codec.ber import decoder
+from pyasn1.codec.ber import decoder, eoo
from pyasn1.error import PyAsn1Error
from pysnmp.proto.error import ProtocolError
@@ -11,6 +11,8 @@ def decodeMessageVersion(wholeMsg):
ver, wholeMsg = decoder.decode(
wholeMsg, asn1Spec=univ.Integer(), recursiveFlag=0
)
+ if eoo.endOfOctets.isSameTypeWith(ver):
+ raise ProtocolError('EOO at SNMP version component')
return ver
except PyAsn1Error:
raise ProtocolError('Invalid BER at SNMP version component')