From: Timo Sirainen Date: Thu, 11 Sep 2025 12:29:46 +0000 (+0300) Subject: auth: passwd-file - Avoid assert-crash when using "=value" or "userdb_=value" extra... X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=3278358ab11dde3949a64e53081558c90b0d0c55;p=thirdparty%2Fdovecot%2Fcore.git auth: passwd-file - Avoid assert-crash when using "=value" or "userdb_=value" extra field --- diff --git a/src/auth/passdb-passwd-file.c b/src/auth/passdb-passwd-file.c index 14daf7e51b..dcac36d0d6 100644 --- a/src/auth/passdb-passwd-file.c +++ b/src/auth/passdb-passwd-file.c @@ -49,6 +49,8 @@ passwd_file_add_extra_fields(struct auth_request *request, key = fields[i]; value = ""; } + if (key[0] == '\0') + continue; if (request->passdb->set->fields_import_all) auth_request_set_field(request, key, value, NULL); auth_fields_add(pwd_fields, key, value, 0); diff --git a/src/auth/userdb-passwd-file.c b/src/auth/userdb-passwd-file.c index 1f91b209a4..35bc952a6b 100644 --- a/src/auth/userdb-passwd-file.c +++ b/src/auth/userdb-passwd-file.c @@ -59,9 +59,10 @@ passwd_file_add_extra_fields(struct auth_request *request, value = ""; } if (request->userdb->set->fields_import_all && - str_begins(key, "userdb_", &key)) + str_begins(key, "userdb_", &key) && key[0] != '\0') auth_request_set_userdb_field(request, key, value); - auth_fields_add(pwd_fields, key, value, 0); + if (key[0] != '\0') + auth_fields_add(pwd_fields, key, value, 0); } if (ret == 0 && auth_request_set_userdb_fields_ex(request, pwd_fields, db_passwd_file_var_expand_fn) < 0)