From c33afa40c8a446eedf3a52d74e6ab118cb10aec1 Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Mon, 15 May 2023 00:17:28 +0300 Subject: [PATCH] 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 --- src/lib-dict-backend/dict-sql.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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: -- 2.47.3