From 8cf6cb0a726f4a5d75d8918c62234f0f6ec50ee5 Mon Sep 17 00:00:00 2001
From: Timo Sirainen <timo.sirainen@open-xchange.com>
Date: Sat, 3 Dec 2022 15:51:23 +0200
Subject: [PATCH] global: Check for enum/array size mismatches with
 static_assert_array_size()

---
 src/lib-sieve/plugins/variables/ext-variables-modifiers.c | 6 +++++-
 src/managesieve-login/managesieve-proxy.c                 | 4 +++-
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/lib-sieve/plugins/variables/ext-variables-modifiers.c b/src/lib-sieve/plugins/variables/ext-variables-modifiers.c
index dd21c8899..93225fdf2 100644
--- a/src/lib-sieve/plugins/variables/ext-variables-modifiers.c
+++ b/src/lib-sieve/plugins/variables/ext-variables-modifiers.c
@@ -36,7 +36,9 @@ enum ext_variables_modifier_code {
     EXT_VARIABLES_MODIFIER_LOWERFIRST,
     EXT_VARIABLES_MODIFIER_UPPERFIRST,
     EXT_VARIABLES_MODIFIER_QUOTEWILDCARD,
-    EXT_VARIABLES_MODIFIER_LENGTH
+    EXT_VARIABLES_MODIFIER_LENGTH,
+
+    EXT_VARIABLES_MODIFIER_COUNT
 };
 
 const struct sieve_variables_modifier_def *ext_variables_core_modifiers[] = {
@@ -47,6 +49,8 @@ const struct sieve_variables_modifier_def *ext_variables_core_modifiers[] = {
 	&quotewildcard_modifier,
 	&length_modifier
 };
+static_assert_array_size(ext_variables_core_modifiers,
+			 EXT_VARIABLES_MODIFIER_COUNT);
 
 const unsigned int ext_variables_core_modifiers_count =
     N_ELEMENTS(ext_variables_core_modifiers);
diff --git a/src/managesieve-login/managesieve-proxy.c b/src/managesieve-login/managesieve-proxy.c
index 657985aa1..386601d91 100644
--- a/src/managesieve-login/managesieve-proxy.c
+++ b/src/managesieve-login/managesieve-proxy.c
@@ -29,9 +29,11 @@ typedef enum {
 	MANAGESIEVE_RESPONSE_BYE
 } managesieve_response_t;
 
-static const char *managesieve_proxy_state_names[MSIEVE_PROXY_STATE_COUNT] = {
+static const char *managesieve_proxy_state_names[] = {
 	"none", "tls-start", "tls-ready", "xclient", "auth"
 };
+static_assert_array_size(managesieve_proxy_state_names,
+			 MSIEVE_PROXY_STATE_COUNT);
 
 static string_t *
 proxy_compose_xclient_forward(struct managesieve_client *client)
-- 
GitLab