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.
This commit is contained in:
David Bremner 2016-09-23 06:33:19 -03:00
parent 7b2d7d6512
commit 514a0a6a3b

View file

@ -170,6 +170,9 @@ _notmuch_string_map_iterator_create (notmuch_string_map_t *map, const char *key,
if (unlikely (iter == NULL)) if (unlikely (iter == NULL))
return NULL; return NULL;
if (unlikely (talloc_reference (iter, map) == NULL))
return NULL;
iter->key = talloc_strdup (iter, key); iter->key = talloc_strdup (iter, key);
iter->exact = exact; iter->exact = exact;
iter->current = bsearch_first (map->pairs, map->length, key, exact); iter->current = bsearch_first (map->pairs, map->length, key, exact);