summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/testutils/foreach.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/test/testutils/foreach.c b/test/testutils/foreach.c
index 05d7f2a..e23192c 100644
--- a/test/testutils/foreach.c
+++ b/test/testutils/foreach.c
@@ -44,6 +44,7 @@ bool _get_next_domnodelist(dom_nodelist *list, unsigned int *iterator, dom_node
{
dom_exception err;
uint32_t len;
+ dom_node *old = *ret;
err = dom_nodelist_get_length(list, &len);
if (err != DOM_NO_ERR)
@@ -56,6 +57,12 @@ bool _get_next_domnodelist(dom_nodelist *list, unsigned int *iterator, dom_node
if (err != DOM_NO_ERR)
return false;
+ /* NOTE: If we change the API of dom_nodelist_item to release the ref
+ * then we should remove this
+ */
+ if (old != NULL)
+ dom_node_unref(old);
+
(*iterator)++;
return true;
}