[PATCH 2/3] lib: make notmuch_threads_valid return FALSE when passed NULL
Jani Nikula
jani at nikula.org
Fri Jan 24 13:06:28 PST 2014
On Thu, 23 Jan 2014, David Bremner <david at tethera.net> wrote:
> Without this patch, the example code in the header docs crashes for certain
> invalid queries (see id:871u00oimv.fsf at approx.mit.edu)
> ---
> lib/notmuch.h | 2 ++
> lib/query.cc | 3 +++
> 2 files changed, 5 insertions(+)
>
> diff --git a/lib/notmuch.h b/lib/notmuch.h
> index 02604c5..68896ae 100644
> --- a/lib/notmuch.h
> +++ b/lib/notmuch.h
> @@ -802,6 +802,8 @@ notmuch_query_destroy (notmuch_query_t *query);
> * valid object. Whereas when this function returns FALSE,
> * notmuch_threads_get will return NULL.
> *
> + * If passed a NULL pointer, this function returns FALSE
> + *
> * See the documentation of notmuch_query_search_threads for example
> * code showing how to iterate over a notmuch_threads_t object.
> */
> diff --git a/lib/query.cc b/lib/query.cc
> index ec60e2e..60ff8bd 100644
> --- a/lib/query.cc
> +++ b/lib/query.cc
> @@ -462,6 +462,9 @@ notmuch_threads_valid (notmuch_threads_t *threads)
> {
> unsigned int doc_id;
>
> + if (! threads)
> + return FALSE;
> +
LGTM, and this is in line with notmuch_messages_valid().
BR,
Jani.
> while (threads->doc_id_pos < threads->doc_ids->len) {
> doc_id = g_array_index (threads->doc_ids, unsigned int,
> threads->doc_id_pos);
> --
> 1.8.5.2
>
> _______________________________________________
> notmuch mailing list
> notmuch at notmuchmail.org
> http://notmuchmail.org/mailman/listinfo/notmuch
More information about the notmuch
mailing list