]> git.notmuchmail.org Git - notmuch/commitdiff
lib/tag: handle NULL argument to notmuch_tags_valid
authorDavid Bremner <david@tethera.net>
Wed, 25 May 2022 10:51:14 +0000 (07:51 -0300)
committerDavid Bremner <david@tethera.net>
Sat, 25 Jun 2022 19:05:45 +0000 (16:05 -0300)
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.

lib/notmuch.h
lib/tags.c
test/T565-lib-tags.sh

index 2e6ec2af1ae2a5054cd1516088764cc44557faa4..44263a6663262c6a65ef556658aba26cd8ec69f9 100644 (file)
@@ -2262,6 +2262,9 @@ notmuch_message_properties_destroy (notmuch_message_properties_t *properties);
  * valid string. Whereas when this function returns FALSE,
  * 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
  * showing how to iterate over a notmuch_tags_t object.
  */
index c7d3f66f491b5ec02495817ba85b6c6981c5fc6d..ec5366ffa23681bf4ddd37a576b2ee202199b737 100644 (file)
@@ -48,7 +48,7 @@ _notmuch_tags_create (const void *ctx, notmuch_string_list_t *list)
 notmuch_bool_t
 notmuch_tags_valid (notmuch_tags_t *tags)
 {
-    return tags->iterator != NULL;
+    return tags && (tags->iterator != NULL);
 }
 
 const char *
index 0f3595d29085fcc734eb27b594681a968a3aaf26..2a59f8dd91508ee34235eefb1271e5b54565d85b 100755 (executable)
@@ -68,7 +68,6 @@ test_expect_equal_file EXPECTED OUTPUT.clean
 restore_database
 
 test_begin_subtest "NULL tags are not valid"
-test_subtest_known_broken
 cat c_head - c_tail <<'EOF' | test_C ${MAIL_DIR}
    {
        notmuch_bool_t valid = TRUE;