lib/tag: handle NULL argument to notmuch_tags_valid

Make the behaviour when passed NULL consistent with
notmuch_filenames_valid. The library already passes the result of
notmuch_message_get_tags without checking for NULL, so it should be
handled.
This commit is contained in:
David Bremner 2022-05-25 07:51:14 -03:00
parent 00ec2b271d
commit e70df92085
3 changed files with 4 additions and 2 deletions

View file

@ -2262,6 +2262,9 @@ notmuch_message_properties_destroy (notmuch_message_properties_t *properties);
* valid string. Whereas when this function returns FALSE, * valid string. Whereas when this function returns FALSE,
* notmuch_tags_get will return NULL. * notmuch_tags_get will return NULL.
* *
* It is acceptable to pass NULL for 'tags', in which case this
* function will always return FALSE.
* See the documentation of notmuch_message_get_tags for example code * See the documentation of notmuch_message_get_tags for example code
* showing how to iterate over a notmuch_tags_t object. * showing how to iterate over a notmuch_tags_t object.
*/ */

View file

@ -48,7 +48,7 @@ _notmuch_tags_create (const void *ctx, notmuch_string_list_t *list)
notmuch_bool_t notmuch_bool_t
notmuch_tags_valid (notmuch_tags_t *tags) notmuch_tags_valid (notmuch_tags_t *tags)
{ {
return tags->iterator != NULL; return tags && (tags->iterator != NULL);
} }
const char * const char *

View file

@ -68,7 +68,6 @@ test_expect_equal_file EXPECTED OUTPUT.clean
restore_database restore_database
test_begin_subtest "NULL tags are not valid" test_begin_subtest "NULL tags are not valid"
test_subtest_known_broken
cat c_head - c_tail <<'EOF' | test_C ${MAIL_DIR} cat c_head - c_tail <<'EOF' | test_C ${MAIL_DIR}
{ {
notmuch_bool_t valid = TRUE; notmuch_bool_t valid = TRUE;