diff options
author | elie <elie> | 2015-11-04 20:34:28 +0000 |
---|---|---|
committer | elie <elie> | 2015-11-04 20:34:28 +0000 |
commit | 1bf79b5accd2e50b8c729d2314c293cb6792f492 (patch) | |
tree | ebb326f644811576e88bea610aa1a7a8c6e4e0f4 /pysnmp/smi/builder.py | |
parent | d64884692eb8baa3530f5936e1ef4df97337c3cb (diff) | |
download | pysnmp-git-1bf79b5accd2e50b8c729d2314c293cb6792f492.tar.gz |
fix to MIB builder to fail gracefully on corrupted MIB package encounter
Diffstat (limited to 'pysnmp/smi/builder.py')
-rw-r--r-- | pysnmp/smi/builder.py | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/pysnmp/smi/builder.py b/pysnmp/smi/builder.py index 7792d74d..7f9db701 100644 --- a/pysnmp/smi/builder.py +++ b/pysnmp/smi/builder.py @@ -127,9 +127,12 @@ class ZipMibSource(__AbstractMibSource): self.__loader = p.__loader__ self._srcName = self._srcName.replace('.', os.sep) return self - else: + elif hasattr(p, '__file__'): # Dir relative to PYTHONPATH return DirMibSource(os.path.split(p.__file__)[0]).init() + else: + raise error.MibLoadError('%s access error' % (p,)) + except ImportError: # Dir relative to CWD return DirMibSource(self._srcName).init() |