From 8dd4e9770ec12de9b2e6fc53259375b2d1720f38 Mon Sep 17 00:00:00 2001 From: Sascha Silbe Date: Sun, 24 Jun 2012 18:29:24 +0200 Subject: [PATCH] lib: fix NULL checks for filenames iterators The API documentation (notmuch.h) states that the parameter may be NULL, but the implementation only checked the current element, potentially dereferencing a NULL pointer in the process. Signed-off-by: Sascha Silbe --- lib/filenames.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/filenames.c b/lib/filenames.c index f1ea2430..4f7c0d85 100644 --- a/lib/filenames.c +++ b/lib/filenames.c @@ -54,7 +54,7 @@ notmuch_filenames_valid (notmuch_filenames_t *filenames) const char * notmuch_filenames_get (notmuch_filenames_t *filenames) { - if (filenames->iterator == NULL) + if ((filenames == NULL) || (filenames->iterator == NULL)) return NULL; return filenames->iterator->string; @@ -63,7 +63,7 @@ notmuch_filenames_get (notmuch_filenames_t *filenames) void notmuch_filenames_move_to_next (notmuch_filenames_t *filenames) { - if (filenames->iterator == NULL) + if ((filenames == NULL) || (filenames->iterator == NULL)) return; filenames->iterator = filenames->iterator->next;