]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
lib-auth: Make sure auth_master_*_lookup() returns non-NULL fields.
authorTimo Sirainen <tss@iki.fi>
Mon, 5 Apr 2010 01:03:05 +0000 (04:03 +0300)
committerTimo Sirainen <tss@iki.fi>
Mon, 5 Apr 2010 01:03:05 +0000 (04:03 +0300)
--HG--
branch : HEAD

src/lib-auth/auth-master.c

index 045f3ece3eef1869f62051eea464d06718b39f6d..a42a302bad3c371141d659ee66f07a5d700e8a4e 100644 (file)
@@ -442,7 +442,8 @@ int auth_master_user_lookup(struct auth_master_connection *conn,
 
        if (ctx.return_value <= 0 || ctx.fields[0] == NULL) {
                *username_r = NULL;
-               *fields_r = ctx.fields;
+               *fields_r = ctx.fields != NULL ? ctx.fields :
+                       p_new(pool, const char *, 1);
                if (ctx.return_value > 0) {
                        i_error("Userdb lookup didn't return username");
                        ctx.return_value = -1;
@@ -511,7 +512,8 @@ int auth_master_pass_lookup(struct auth_master_connection *conn,
        (void)auth_master_run_cmd(conn, str_c(str));
        conn->prefix = DEFAULT_USERDB_LOOKUP_PREFIX;
 
-       *fields_r = ctx.fields;
+       *fields_r = ctx.fields != NULL ? ctx.fields :
+               p_new(pool, const char *, 1);
        return ctx.return_value;
 }