From: pazz <patricktot...@gmail.com> This prevents unsafe calls to decode for return value None in get_authors/get_subject --- bindings/python/notmuch/tag.py | 4 +++- bindings/python/notmuch/thread.py | 10 ++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/bindings/python/notmuch/tag.py b/bindings/python/notmuch/tag.py index d6abf28..9eb9fe2 100644 --- a/bindings/python/notmuch/tag.py +++ b/bindings/python/notmuch/tag.py @@ -86,7 +86,9 @@ class Tags(object): if not nmlib.notmuch_tags_valid(self._tags): self._tags = None raise StopIteration - tag = Tags._get(self._tags).decode('utf-8') + tag = Tags._get(self._tags) + if tag: + tag = tag.decode('UTF-8') nmlib.notmuch_tags_move_to_next(self._tags) return tag diff --git a/bindings/python/notmuch/thread.py b/bindings/python/notmuch/thread.py index 120f925..2a55bd9 100644 --- a/bindings/python/notmuch/thread.py +++ b/bindings/python/notmuch/thread.py @@ -292,7 +292,10 @@ class Thread(object): """ if self._thread is None: raise NotmuchError(STATUS.NOT_INITIALIZED) - return Thread._get_authors(self._thread).decode('UTF-8') + authors = Thread._get_authors(self._thread) + if authors: + return authors.decode('UTF-8') + return None def get_subject(self): """Returns the Subject of 'thread' @@ -302,7 +305,10 @@ class Thread(object): """ if self._thread is None: raise NotmuchError(STATUS.NOT_INITIALIZED) - return Thread._get_subject(self._thread).decode('UTF-8') + subject = Thread._get_subject(self._thread) + if subject: + return subject.decode('UTF-8') + return None def get_newest_date(self): """Returns time_t of the newest message date -- 1.7.4.1