aboutsummaryrefslogtreecommitdiff
path: root/bindings
diff options
context:
space:
mode:
authorpazz <patricktotzke@gmail.com>2011-08-16 22:37:47 +0100
committerSebastian Spaeth <Sebastian@SSpaeth.de>2011-08-17 14:44:45 +0200
commitf10ec87cc3ed9cbdb4e535ee6574c2a568c38b1d (patch)
treea34840edf944b100b67d36b88fafd00094e6f99c /bindings
parentee4579ad27b0f84650f0c211ea92e2f874df8044 (diff)
python: Fix unsafe utf-8 decodings
This prevents unsafe calls to decode for return value None in get_authors/get_subject which would current throw an Exception. Original patch modified by Sebastian Spaeth. Signed-off-by: Sebastian Spaeth <Sebastian@SSpaeth.de>
Diffstat (limited to 'bindings')
-rw-r--r--bindings/python/notmuch/tag.py2
-rw-r--r--bindings/python/notmuch/thread.py10
2 files changed, 9 insertions, 3 deletions
diff --git a/bindings/python/notmuch/tag.py b/bindings/python/notmuch/tag.py
index d6abf28..0f25b0f 100644
--- a/bindings/python/notmuch/tag.py
+++ b/bindings/python/notmuch/tag.py
@@ -86,7 +86,7 @@ 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).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..83b4202 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 is None:
+ return None
+ return authors.decode('UTF-8')
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 is None:
+ return None
+ return subject.decode('UTF-8')
def get_newest_date(self):
"""Returns time_t of the newest message date