]> xenbits.xensource.com Git - libvirt.git/commitdiff
rpc: Actually increase reference count on @srv in virNetDaemonAddServer
authorPeter Krempa <pkrempa@redhat.com>
Thu, 18 Jun 2015 09:37:17 +0000 (11:37 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Thu, 18 Jun 2015 11:32:37 +0000 (13:32 +0200)
VIR_APPEND_ELEMENT would clear @srv to NULL after it successfully
inserted it thus the reference count could not be increased afterwards.

Switch to VIR_APPEND_ELEMENT_COPY. This fixes crash after terminating
the daemon.

src/rpc/virnetdaemon.c

index a6d6a4bd84467a33411d86014128cec21e237869..67dff147be605aaaee6fc2ab6f0986f2b5308e8a 100644 (file)
@@ -162,7 +162,7 @@ virNetDaemonAddServer(virNetDaemonPtr dmn, virNetServerPtr srv)
 
     virObjectLock(dmn);
 
-    if (VIR_APPEND_ELEMENT(dmn->servers, dmn->nservers, srv) < 0)
+    if (VIR_APPEND_ELEMENT_COPY(dmn->servers, dmn->nservers, srv) < 0)
         goto cleanup;
 
     virObjectRef(srv);