From: Timo Sirainen Date: Mon, 5 Apr 2010 01:03:05 +0000 (+0300) Subject: lib-auth: Make sure auth_master_*_lookup() returns non-NULL fields. X-Git-Tag: 2.0.beta5~216 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a3f5bd60d81b456b7e4b79b26a825b71b836a537;p=thirdparty%2Fdovecot%2Fcore.git lib-auth: Make sure auth_master_*_lookup() returns non-NULL fields. --HG-- branch : HEAD --- diff --git a/src/lib-auth/auth-master.c b/src/lib-auth/auth-master.c index 045f3ece3e..a42a302bad 100644 --- a/src/lib-auth/auth-master.c +++ b/src/lib-auth/auth-master.c @@ -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; }