summary refs log tree commit diff stats
path: root/ui/spice-core.c
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2011-07-07 17:04:17 +0200
committerGerd Hoffmann <kraxel@redhat.com>2011-07-20 10:08:53 +0200
commitdf9cb669425051f4f4364cffb19c9b8089e04297 (patch)
tree8ba476bd2086a7509b6f1751059478e331bafb96 /ui/spice-core.c
parent03ff09580ef6cbc4a893b6e3e6bbff33180ec70a (diff)
downloadfocaccia-qemu-df9cb669425051f4f4364cffb19c9b8089e04297.tar.gz
focaccia-qemu-df9cb669425051f4f4364cffb19c9b8089e04297.zip
spice: add sanity check for spice ports
Make sure at least one port (port=.. or tls-port=...)
is specified.  Also apply range checks to the port numbers.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Diffstat (limited to 'ui/spice-core.c')
-rw-r--r--ui/spice-core.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/ui/spice-core.c b/ui/spice-core.c
index e142452bb6..1100417698 100644
--- a/ui/spice-core.c
+++ b/ui/spice-core.c
@@ -480,7 +480,16 @@ void qemu_spice_init(void)
     port = qemu_opt_get_number(opts, "port", 0);
     tls_port = qemu_opt_get_number(opts, "tls-port", 0);
     if (!port && !tls_port) {
-        return;
+        fprintf(stderr, "neither port nor tls-port specified for spice.");
+        exit(1);
+    }
+    if (port < 0 || port > 65535) {
+        fprintf(stderr, "spice port is out of range");
+        exit(1);
+    }
+    if (tls_port < 0 || tls_port > 65535) {
+        fprintf(stderr, "spice tls-port is out of range");
+        exit(1);
     }
     password = qemu_opt_get(opts, "password");