diff options
author | Ilya Etingof <etingof@gmail.com> | 2019-06-23 09:04:26 +0200 |
---|---|---|
committer | Ilya Etingof <etingof@gmail.com> | 2019-06-23 09:06:15 +0200 |
commit | be7de7d7a72ed73777bcae6eff0ba0f698172548 (patch) | |
tree | 8590f5166e7a089d70b2e6997a642ea0bf41860e /pysnmp | |
parent | cde062dd42f67dfd2d7686286a322d40e9c3a4b7 (diff) | |
download | pysnmp-git-be7de7d7a72ed73777bcae6eff0ba0f698172548.tar.gz |
Fix `var-bindings` initialization
Set `var-bindings` to an empty sequence by default. Otherwise
it can remain a "pyasn1 schema object" failing to encode. This
can happen with newer pyasn1 versions where `SequenceOf` type
does not have default initializer.
Diffstat (limited to 'pysnmp')
-rw-r--r-- | pysnmp/proto/api/v1.py | 7 | ||||
-rw-r--r-- | pysnmp/proto/api/v2c.py | 3 |
2 files changed, 7 insertions, 3 deletions
diff --git a/pysnmp/proto/api/v1.py b/pysnmp/proto/api/v1.py index f13920e7..e8641deb 100644 --- a/pysnmp/proto/api/v1.py +++ b/pysnmp/proto/api/v1.py @@ -80,7 +80,9 @@ class PDUAPI(object): 2, self._errorIndex, verifyConstraints=False, matchTags=False, matchConstraints=False) - pdu.setComponentByPosition(3) + varBindList = pdu.setComponentByPosition(3).getComponentByPosition(3) + varBindList.clear() + @staticmethod def getRequestID(pdu): @@ -217,7 +219,8 @@ class TrapPDUAPI(object): 4, self._zeroTime, verifyConstraints=False, matchTags=False, matchConstraints=False) - pdu.setComponentByPosition(5) + varBindList = pdu.setComponentByPosition(5).getComponentByPosition(5) + varBindList.clear() @staticmethod def getEnterprise(pdu): diff --git a/pysnmp/proto/api/v2c.py b/pysnmp/proto/api/v2c.py index c415ca9a..0470fafd 100644 --- a/pysnmp/proto/api/v2c.py +++ b/pysnmp/proto/api/v2c.py @@ -119,7 +119,8 @@ class BulkPDUAPI(PDUAPI): 2, self._maxRepetitions, verifyConstraints=False, matchTags=False, matchConstraints=False) - pdu.setComponentByPosition(3) + varBindList = pdu.setComponentByPosition(3).getComponentByPosition(3) + varBindList.clear() @staticmethod def getNonRepeaters(pdu): |