[PATCH 2/2] [python] fix unsafe utf-8 decodings
Patrick Totzke
patricktotzke at googlemail.com
Tue Aug 16 14:37:47 PDT 2011
From: pazz <patricktotzke at 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
More information about the notmuch
mailing list