From 091d18c54c046a08bda9d88982601589a1deea37 Mon Sep 17 00:00:00 2001
From: Carl Worth <cworth@cworth.org>
Date: Wed, 11 Nov 2009 23:00:58 -0800
Subject: [PATCH] notmuch show: Avoid segmentation for message with no subject.

It's safer to return an empty string rather than NULL for missing
header values.
---
 lib/message-file.c | 4 ++--
 lib/notmuch.h      | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/lib/message-file.c b/lib/message-file.c
index 75caba6d..8a3f8ee0 100644
--- a/lib/message-file.c
+++ b/lib/message-file.c
@@ -238,7 +238,7 @@ notmuch_message_file_get_header (notmuch_message_file_t *message,
 	return decoded_value;
 
     if (message->parsing_finished)
-	return NULL;
+	return "";
 
 #define NEXT_HEADER_LINE(closure)				\
     while (1) {							\
@@ -348,5 +348,5 @@ notmuch_message_file_get_header (notmuch_message_file_t *message,
 			header_desired);
     }
 
-    return NULL;
+    return "";
 }
diff --git a/lib/notmuch.h b/lib/notmuch.h
index c1c7980a..40a1dca7 100644
--- a/lib/notmuch.h
+++ b/lib/notmuch.h
@@ -618,8 +618,8 @@ notmuch_message_get_date  (notmuch_message_t *message);
  * modified or freed by the caller (nor should it be referenced after
  * the message is destroyed).
  *
- * Returns NULL if the message does not contain a header line matching
- * 'header' of if any error occurs.
+ * Returns an empty string ("") if the message does not contain a
+ * header line matching 'header'. Returns NULL if any error occurs.
  */
 const char *
 notmuch_message_get_header (notmuch_message_t *message, const char *header);
-- 
2.45.2