chiark / gitweb /
sd-resolve: keep floating query referenced while we access it
[elogind.git] / src / libsystemd / sd-resolve / sd-resolve.c
index 10f8ed29a2041785b50b094baef4b7be0629ce01..df63f1de9e407c39d373a5f5829e23e55008d686 100644 (file)
@@ -772,13 +772,15 @@ static int complete_query(sd_resolve *resolve, sd_resolve_query *q) {
                 assert_not_reached("Cannot complete unknown query type");
         }
 
-        resolve->current = sd_resolve_query_unref(q);
+        resolve->current = NULL;
 
         if (q->floating) {
                 resolve_query_disconnect(q);
                 sd_resolve_query_unref(q);
         }
 
+        sd_resolve_query_unref(q);
+
         return r;
 }