changeset 21591:f2d5416e0d7d

lib-storage: Assert-crash if duplicate internal hooks are added.
author Timo Sirainen <timo.sirainen@dovecot.fi>
date Sun, 19 Feb 2017 02:01:24 +0200
parents 19c764379c83
children 1a2afcda9eb1
files src/lib-storage/mail-storage-hooks.c
diffstat 1 files changed, 5 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-storage/mail-storage-hooks.c	Sun Feb 19 15:54:53 2017 +0200
+++ b/src/lib-storage/mail-storage-hooks.c	Sun Feb 19 02:01:24 2017 +0200
@@ -103,6 +103,11 @@
 
 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);
 }