]> granicus.if.org Git - neomutt/commitdiff
addrlist: fix empty string
authorRichard Russon <rich@flatcap.org>
Thu, 18 Jul 2019 12:41:24 +0000 (13:41 +0100)
committerRichard Russon <rich@flatcap.org>
Thu, 18 Jul 2019 14:59:18 +0000 (15:59 +0100)
address/address.c
test/address/mutt_addrlist_parse2.c

index adbb0de8374756d7d17d6c744f32e1e4ed21990a..d522106f01aeb1e10429f32ccb60d9aebf755053 100644 (file)
@@ -602,7 +602,7 @@ int mutt_addrlist_parse(struct AddressList *al, const char *s)
  */
 int mutt_addrlist_parse2(struct AddressList *al, const char *s)
 {
-  if (!s)
+  if (!s || !*s)
     return 0;
 
   int parsed = 0;
index 5c1f941dc689dc41ab022b375b355557d48ba9df..7fbd2a87fcf8fe05e8a89c7491af2fee3c323644 100644 (file)
@@ -39,6 +39,13 @@ void test_mutt_addrlist_parse2(void)
     TEST_CHECK(TAILQ_EMPTY(&alist));
   }
 
+  {
+    struct AddressList alist = TAILQ_HEAD_INITIALIZER(alist);
+    int parsed = mutt_addrlist_parse2(&alist, "");
+    TEST_CHECK(parsed == 0);
+    TEST_CHECK(TAILQ_EMPTY(&alist));
+  }
+
   {
     struct AddressList alist = TAILQ_HEAD_INITIALIZER(alist);
     int parsed = mutt_addrlist_parse2(&alist, "apple");