From: Timo Sirainen Date: Sun, 14 May 2023 21:17:28 +0000 (+0300) Subject: dict-sql: Fix dict iteration with uuid type X-Git-Tag: 2.4.0~2765 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c33afa40c8a446eedf3a52d74e6ab118cb10aec1;p=thirdparty%2Fdovecot%2Fcore.git dict-sql: Fix dict iteration with uuid type dict_iterate_next() is run in its own data stack frame, so the returned values must not be allocated from data stack. Broken by 9e46d634d493e9539b4da635138e7b3670b625f2 --- diff --git a/src/lib-dict-backend/dict-sql.c b/src/lib-dict-backend/dict-sql.c index 302f47f2b6..2f17ac8fde 100644 --- a/src/lib-dict-backend/dict-sql.c +++ b/src/lib-dict-backend/dict-sql.c @@ -526,7 +526,7 @@ sql_dict_result_unescape(enum dict_sql_type type, pool_t pool, if (value == NULL) return ""; guid_128_from_uuid_string(value, guid); - return guid_128_to_uuid_string(guid, FORMAT_RECORD); + return p_strdup(pool, guid_128_to_uuid_string(guid, FORMAT_RECORD)); case DICT_SQL_TYPE_HEXBLOB: break; case DICT_SQL_TYPE_COUNT: