When listing mailbox list indexes, it was possible that each iteration
increased the data stack memory usage. It was all freed at the end though,
so this didn't cause any permanent leaks.
Broken by
4fdb040d2471c6e5006579bef1dd0586f89c8570
} else {
while (node->next == NULL) {
node = node->parent;
- if (node != NULL) {
+ if (node != NULL) T_BEGIN {
/* The storage name kept in the iteration context
is escaped. To calculate the right truncation
margin, the length of the name must be
ctx->parent_len -= str_len(escaped_name);
if (node->parent != NULL)
ctx->parent_len--;
- }
+ } T_END;
if (node == NULL) {
/* last one */
ctx->next_node = NULL;