]> xenbits.xensource.com Git - people/liuw/libxenctrl-split/libvirt.git/commitdiff
rpc: Don't use unrelated value as privateData of client
authorDaniel P. Berrange <berrange@redhat.com>
Thu, 4 Jun 2015 17:16:32 +0000 (19:16 +0200)
committerMartin Kletzander <mkletzan@redhat.com>
Fri, 5 Jun 2015 11:48:05 +0000 (13:48 +0200)
Append privateData of the client only if there are any, otherwise the
previous value (socket data) will get there again.

Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
src/rpc/virnetserverclient.c

index 34c1994454011482441d3f4c8d584321180b719a..0e3a71f9b2710e8e547a6050ad21c1601bccd0b8 100644 (file)
@@ -536,13 +536,14 @@ virJSONValuePtr virNetServerClientPreExecRestart(virNetServerClientPtr client)
         goto error;
     }
 
-    if (client->privateData && client->privateDataPreExecRestart &&
-        !(child = client->privateDataPreExecRestart(client, client->privateData)))
-        goto error;
+    if (client->privateData && client->privateDataPreExecRestart) {
+        if (!(child = client->privateDataPreExecRestart(client, client->privateData)))
+            goto error;
 
-    if (virJSONValueObjectAppend(object, "privateData", child) < 0) {
-        virJSONValueFree(child);
-        goto error;
+        if (virJSONValueObjectAppend(object, "privateData", child) < 0) {
+            virJSONValueFree(child);
+            goto error;
+        }
     }
 
     virObjectUnlock(client);