From: Lennart Poettering Date: Mon, 5 May 2014 21:49:19 +0000 (+0200) Subject: sd-resolve: make sure we can destroy a query object from its own callback handler X-Git-Tag: v213~258 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=73dec31974a315f4329fb302d8efe0e24b9da1d4 sd-resolve: make sure we can destroy a query object from its own callback handler --- diff --git a/src/libsystemd/sd-resolve/sd-resolve.c b/src/libsystemd/sd-resolve/sd-resolve.c index cb8e34e36..3f699ce23 100644 --- a/src/libsystemd/sd-resolve/sd-resolve.c +++ b/src/libsystemd/sd-resolve/sd-resolve.c @@ -737,7 +737,7 @@ static int complete_query(sd_resolve *resolve, sd_resolve_query *q) { q->done = true; resolve->n_done ++; - resolve->current = q; + resolve->current = sd_resolve_query_ref(q); switch (q->type) { @@ -758,7 +758,7 @@ static int complete_query(sd_resolve *resolve, sd_resolve_query *q) { assert_not_reached("Cannot complete unknown query type"); } - resolve->current = NULL; + resolve->current = sd_resolve_query_unref(q); return r; }