]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
auth: ldap - Avoid assert-crash when using %{ldap:} or %{ldap_multi:} with empty...
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Thu, 11 Sep 2025 12:27:52 +0000 (15:27 +0300)
committeraki.tuomi <aki.tuomi@open-xchange.com>
Sat, 20 Sep 2025 07:03:34 +0000 (07:03 +0000)
src/auth/db-ldap.c

index 6122cb7d18781b13f6231ba71be34ec5efde3425..9309ccffd34ac6718d7e47714c69d87a927fe37a 100644 (file)
@@ -1092,8 +1092,9 @@ void db_ldap_get_attribute_names(pool_t pool,
                const char *const *vars = var_expand_program_variables(prog);
                for (; *vars != NULL; vars++) {
                        const char *ldap_attr;
-                       if (str_begins(*vars, "ldap:", &ldap_attr) ||
-                           str_begins(*vars, "ldap_multi:", &ldap_attr)) {
+                       if ((str_begins(*vars, "ldap:", &ldap_attr) ||
+                            str_begins(*vars, "ldap_multi:", &ldap_attr)) &&
+                           ldap_attr[0] != '\0') {
                                /* when we free program, this name
                                   would be invalid, so dup it here. */
                                ldap_attr = p_strdup(pool, ldap_attr);