diff options
author | elie <elie> | 2014-10-26 06:52:38 +0000 |
---|---|---|
committer | elie <elie> | 2014-10-26 06:52:38 +0000 |
commit | e4905f562d2f68b4378f4f34712ad77fd2b8a475 (patch) | |
tree | d0d5f5477f8f814bda640d1119250d4e118f198f | |
parent | 5215d0d2b72743407eb748efad61c985e3ec3bea (diff) | |
download | pysnmp-e4905f562d2f68b4378f4f34712ad77fd2b8a475.tar.gz |
fix to file descriptor leak at MibBuilder
-rw-r--r-- | CHANGES | 1 | ||||
-rw-r--r-- | pysnmp/smi/builder.py | 5 |
2 files changed, 5 insertions, 1 deletions
@@ -92,6 +92,7 @@ Revision 4.2.6rc0 - Fix at NotificationOriginator to make is using MibInstrumentationController when expanding Notification OBJECTS into Managed Objects Instances. - Missing wrongLength and wrongEncoding SMI errors added. +- Fix to file descriptor leak at MibBuilder. Revision 4.2.5 -------------- diff --git a/pysnmp/smi/builder.py b/pysnmp/smi/builder.py index 214d723..5840b08 100644 --- a/pysnmp/smi/builder.py +++ b/pysnmp/smi/builder.py @@ -162,7 +162,10 @@ class DirMibSource(__AbstractMibSource): def _getData(self, f, mode): try: if f in os.listdir(self._srcName): # make FS case-sensitive - return open(os.path.join(self._srcName, f), mode).read() + fp = open(os.path.join(self._srcName, f), mode) + data = fp.read() + fp.close() + return data except OSError: pass raise IOError # pretend there's no such file |