From 6f35f54c57a28af84ca0dcb791176bbf7c7e18bc Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Mon, 12 Dec 2022 11:52:48 +0200 Subject: [PATCH] auth: Add AUTH_SOCKET_TOKEN_COUNT and verify its name array size Remove the [ENUM] indexes, because using them hides the size checking error if new enums are inserted in the middle. --- src/auth/main.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/auth/main.c b/src/auth/main.c index 42f0599a11..7f2ff93334 100644 --- a/src/auth/main.c +++ b/src/auth/main.c @@ -45,6 +45,8 @@ enum auth_socket_type { AUTH_SOCKET_USERDB, AUTH_SOCKET_TOKEN, AUTH_SOCKET_TOKEN_LOGIN, + + AUTH_SOCKET_TOKEN_COUNT }; struct auth_socket_listener { @@ -53,14 +55,15 @@ struct auth_socket_listener { }; static const char *const auth_socket_type_names[] = { - [AUTH_SOCKET_UNKNOWN] = "", - [AUTH_SOCKET_AUTH] = "auth", - [AUTH_SOCKET_LOGIN] = "login", - [AUTH_SOCKET_MASTER] = "master", - [AUTH_SOCKET_USERDB] = "userdb", - [AUTH_SOCKET_TOKEN] = "token", - [AUTH_SOCKET_TOKEN_LOGIN] = "token-login", + "", + "auth", + "login", + "master", + "userdb", + "token", + "token-login", }; +static_assert_array_size(auth_socket_type_names, AUTH_SOCKET_TOKEN_COUNT); bool worker = FALSE, worker_restart_request = FALSE; time_t process_start_time; @@ -111,7 +114,7 @@ static enum auth_socket_type auth_socket_type_get(const char *typename) unsigned int i; for (i = 0; i < N_ELEMENTS(auth_socket_type_names); i++) { - if (null_strcmp(typename, auth_socket_type_names[i]) == 0) + if (strcmp(typename, auth_socket_type_names[i]) == 0) return (enum auth_socket_type)i; } -- 2.47.3