From: Timo Sirainen Date: Fri, 7 Apr 2017 09:42:12 +0000 (+0300) Subject: dict-sql: Fix setting $variables to iteration key when map had multiple values X-Git-Tag: 2.3.0.rc1~1776 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c2eecb35a35d74c56297e049faff51392f7ee3fa;p=thirdparty%2Fdovecot%2Fcore.git dict-sql: Fix setting $variables to iteration key when map had multiple values --- diff --git a/src/lib-dict/dict-sql.c b/src/lib-dict/dict-sql.c index f1ac6385d8..8a09becfa9 100644 --- a/src/lib-dict/dict-sql.c +++ b/src/lib-dict/dict-sql.c @@ -729,7 +729,8 @@ static bool sql_dict_iterate(struct dict_iterate_context *_ctx, str_append_c(ctx->key, '/'); count = sql_result_get_fields_count(ctx->result); - i = (ctx->flags & DICT_ITERATE_FLAG_NO_VALUE) != 0 ? 0 : 1; + i = (ctx->flags & DICT_ITERATE_FLAG_NO_VALUE) != 0 ? 0 : + ctx->map->values_count; sql_field_i = ctx->sql_fields_start_idx; for (p = ctx->map->pattern + ctx->pattern_prefix_len; *p != '\0'; p++) { if (*p != '$')