From: David Bremner Date: Fri, 23 Sep 2016 09:33:19 +0000 (-0300) Subject: lib: add talloc reference from string map iterator to map X-Git-Tag: 0.23_rc0~5 X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=commitdiff_plain;h=514a0a6a3bd74c03db6cd9b28edc0a29a8a2441e lib: add talloc reference from string map iterator to map This is needed so that when the map is modified during traversal, and thus unlinked by the database code, the map is not disposed of until the iterator is done with it. --- diff --git a/lib/string-map.c b/lib/string-map.c index 591ff6d5..0bb77e93 100644 --- a/lib/string-map.c +++ b/lib/string-map.c @@ -170,6 +170,9 @@ _notmuch_string_map_iterator_create (notmuch_string_map_t *map, const char *key, if (unlikely (iter == NULL)) return NULL; + if (unlikely (talloc_reference (iter, map) == NULL)) + return NULL; + iter->key = talloc_strdup (iter, key); iter->exact = exact; iter->current = bsearch_first (map->pairs, map->length, key, exact);