]> xenbits.xensource.com Git - libvirt.git/commitdiff
virNetServerNewPostExecRestart: Initialize @max_anonymous_clients
authorMichal Privoznik <mprivozn@redhat.com>
Tue, 18 Mar 2014 10:04:27 +0000 (11:04 +0100)
committerMichal Privoznik <mprivozn@redhat.com>
Tue, 18 Mar 2014 13:49:56 +0000 (14:49 +0100)
Coverity spotted a use of possibly undefined variable. If a server is
restarting as an result of update, the JSON file that keeps current
value of some variables will not contain the new variables. This is
the case of @max_anonymous_clients too. We are correctly querying if
there's "max_anonymous_clients" in the JSON, however, we are not
setting a sane default if there's none.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
src/rpc/virnetserver.c

index dfa3565924bec7df744c247ceffb9504f2adf88f..33a0346cb57682ae6c44838efd50fec8e34e0bd7 100644 (file)
@@ -494,12 +494,15 @@ virNetServerPtr virNetServerNewPostExecRestart(virJSONValuePtr object,
                        _("Missing max_clients data in JSON document"));
         goto error;
     }
-    if (virJSONValueObjectHasKey(object, "max_anonymous_clients") &&
-        virJSONValueObjectGetNumberUint(object, "max_anonymous_clients",
-                                        &max_anonymous_clients) < 0) {
-        virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
-                       _("Malformed max_anonymous_clients data in JSON document"));
-        goto error;
+    if (virJSONValueObjectHasKey(object, "max_anonymous_clients")) {
+        if (virJSONValueObjectGetNumberUint(object, "max_anonymous_clients",
+                                            &max_anonymous_clients) < 0) {
+            virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
+                           _("Malformed max_anonymous_clients data in JSON document"));
+            goto error;
+        }
+    } else {
+        max_anonymous_clients = max_clients;
     }
     if (virJSONValueObjectGetNumberUint(object, "keepaliveInterval", &keepaliveInterval) < 0) {
         virReportError(VIR_ERR_INTERNAL_ERROR, "%s",