From: Timo Sirainen Date: Sun, 19 Feb 2017 00:01:24 +0000 (+0200) Subject: lib-storage: Assert-crash if duplicate internal hooks are added. X-Git-Tag: 2.3.0.rc1~2068 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=798530867beda2d2d9a8ec194ea701adef74e737;p=thirdparty%2Fdovecot%2Fcore.git lib-storage: Assert-crash if duplicate internal hooks are added. --- diff --git a/src/lib-storage/mail-storage-hooks.c b/src/lib-storage/mail-storage-hooks.c index 1889eb7222..cef47f265c 100644 --- a/src/lib-storage/mail-storage-hooks.c +++ b/src/lib-storage/mail-storage-hooks.c @@ -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); }