]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-storage: Assert-crash if duplicate internal hooks are added.
authorTimo Sirainen <timo.sirainen@dovecot.fi>
Sun, 19 Feb 2017 00:01:24 +0000 (02:01 +0200)
committerGitLab <gitlab@git.dovecot.net>
Sun, 19 Feb 2017 14:11:14 +0000 (16:11 +0200)
src/lib-storage/mail-storage-hooks.c

index 1889eb722288d94f586c35d95a5523800d5ccf58..cef47f265c163fe884f458c842e0816e7ab52198 100644 (file)
@@ -103,6 +103,11 @@ void mail_storage_hooks_remove(const struct mail_storage_hooks *hooks)
 
 void mail_storage_hooks_add_internal(const struct mail_storage_hooks *hooks)
 {
+       const struct mail_storage_hooks *const *existing_hooksp;
+
+       /* make sure we don't add duplicate hooks */
+       array_foreach(&internal_hooks, existing_hooksp)
+               i_assert(*existing_hooksp != hooks);
        array_append(&internal_hooks, &hooks, 1);
 }