aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Worth <cworth@cworth.org>2009-10-16 13:38:43 -0700
committerCarl Worth <cworth@cworth.org>2009-10-16 13:38:43 -0700
commitdcebf35ec9d177720a120fd8601f966d169d2edf (patch)
treef09743d9ada344aa2d8f49de9fde4b7d7c4b0836
parent387a28281c8b8c8025e976d610cf0dae0f196894 (diff)
Avoid reading a byte just before our allocated buffer.
When looking for a trailing ':' to introduce a quotation we peek at the last character before a newline. But for blank lines, that's not where we want to look. And when the first line in our buffer is a blank line, we're underrunning our buffer. The fix is easy---just bail early on blank lines since they have no terms anyway. Thanks to valgrind for pointing out this error.
-rw-r--r--notmuch-index-message.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/notmuch-index-message.cc b/notmuch-index-message.cc
index 3175d2d8..dd3fbb44 100644
--- a/notmuch-index-message.cc
+++ b/notmuch-index-message.cc
@@ -486,6 +486,10 @@ gen_terms_body_str (Xapian::TermGenerator term_gen,
while (*next_line == '\n')
next_line++;
+ /* Skip blank lines. */
+ if (line_end < line)
+ continue;
+
/* Skip lines that are quotes. */
if (*line == '>')
continue;