# HG changeset patch # User David Barts # Date 1577482244 28800 # Node ID 152f6aa87d622a41e58d77e80e56f6e5b2ef7729 # Parent 6acda841a69023296aa2485d2556f6b5c7bf74e7 Plug a memoryview leak. diff -r 6acda841a690 -r 152f6aa87d62 runes.py --- a/runes.py Fri Dec 27 13:23:07 2019 -0800 +++ b/runes.py Fri Dec 27 13:30:44 2019 -0800 @@ -155,12 +155,15 @@ view = memoryview(self.buffer) try: ret = view[key] - if isinstance (ret, int): - return chr(ret) - elif isinstance(ret, memoryview): - return self.codec.decode(ret, 'replace')[0] - else: - raise AssertionError("this shouldn't happen") + try: + if isinstance (ret, int): + return chr(ret) + elif isinstance(ret, memoryview): + return self.codec.decode(ret, 'replace')[0] + else: + raise AssertionError("this shouldn't happen") + finally: + ret.release() except IndexError: return "" finally: