diff mbox series

[27/31] spice: Clean up error reporting in add_channel()

Message ID 20181008173125.19678-28-armbru@redhat.com
State New
Headers show
Series Replace some unwise uses of error_report() & friends | expand

Commit Message

Markus Armbruster Oct. 8, 2018, 5:31 p.m. UTC
Calling error_report() in a function that takes an Error ** argument
is suspicious.  add_channel() does that, and then exit()s.  Its caller
main(), via qemu_opts_foreach(), is fine with it, but clean it up
anyway.

Cc: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 ui/spice-core.c | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

Comments

Marc-André Lureau Oct. 9, 2018, 11:46 a.m. UTC | #1
Hi

On Mon, Oct 8, 2018 at 9:43 PM Markus Armbruster <armbru@redhat.com> wrote:
>
> Calling error_report() in a function that takes an Error ** argument
> is suspicious.  add_channel() does that, and then exit()s.  Its caller
> main(), via qemu_opts_foreach(), is fine with it, but clean it up
> anyway.
>
> Cc: Gerd Hoffmann <kraxel@redhat.com>
> Signed-off-by: Markus Armbruster <armbru@redhat.com>

Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>

> ---
>  ui/spice-core.c | 13 +++++++------
>  1 file changed, 7 insertions(+), 6 deletions(-)
>
> diff --git a/ui/spice-core.c b/ui/spice-core.c
> index a4fbbc3898..ebaae24643 100644
> --- a/ui/spice-core.c
> +++ b/ui/spice-core.c
> @@ -597,9 +597,9 @@ static int add_channel(void *opaque, const char *name, const char *value,
>      if (strcmp(name, "tls-channel") == 0) {
>          int *tls_port = opaque;
>          if (!*tls_port) {
> -            error_report("spice: tried to setup tls-channel"
> -                         " without specifying a TLS port");
> -            exit(1);
> +            error_setg(errp, "spice: tried to setup tls-channel"
> +                       " without specifying a TLS port");
> +            return -1;
>          }
>          security = SPICE_CHANNEL_SECURITY_SSL;
>      }
> @@ -615,8 +615,9 @@ static int add_channel(void *opaque, const char *name, const char *value,
>          rc = spice_server_set_channel_security(spice_server, value, security);
>      }
>      if (rc != 0) {
> -        error_report("spice: failed to set channel security for %s", value);
> -        exit(1);
> +        error_setg(errp, "spice: failed to set channel security for %s",
> +                   value);
> +        return -1;
>      }
>      return 0;
>  }
> @@ -787,7 +788,7 @@ void qemu_spice_init(void)
>      spice_server_set_playback_compression
>          (spice_server, qemu_opt_get_bool(opts, "playback-compression", 1));
>
> -    qemu_opt_foreach(opts, add_channel, &tls_port, NULL);
> +    qemu_opt_foreach(opts, add_channel, &tls_port, &error_fatal);
>
>      spice_server_set_name(spice_server, qemu_name);
>      spice_server_set_uuid(spice_server, (unsigned char *)&qemu_uuid);
> --
> 2.17.1
>
>
diff mbox series

Patch

diff --git a/ui/spice-core.c b/ui/spice-core.c
index a4fbbc3898..ebaae24643 100644
--- a/ui/spice-core.c
+++ b/ui/spice-core.c
@@ -597,9 +597,9 @@  static int add_channel(void *opaque, const char *name, const char *value,
     if (strcmp(name, "tls-channel") == 0) {
         int *tls_port = opaque;
         if (!*tls_port) {
-            error_report("spice: tried to setup tls-channel"
-                         " without specifying a TLS port");
-            exit(1);
+            error_setg(errp, "spice: tried to setup tls-channel"
+                       " without specifying a TLS port");
+            return -1;
         }
         security = SPICE_CHANNEL_SECURITY_SSL;
     }
@@ -615,8 +615,9 @@  static int add_channel(void *opaque, const char *name, const char *value,
         rc = spice_server_set_channel_security(spice_server, value, security);
     }
     if (rc != 0) {
-        error_report("spice: failed to set channel security for %s", value);
-        exit(1);
+        error_setg(errp, "spice: failed to set channel security for %s",
+                   value);
+        return -1;
     }
     return 0;
 }
@@ -787,7 +788,7 @@  void qemu_spice_init(void)
     spice_server_set_playback_compression
         (spice_server, qemu_opt_get_bool(opts, "playback-compression", 1));
 
-    qemu_opt_foreach(opts, add_channel, &tls_port, NULL);
+    qemu_opt_foreach(opts, add_channel, &tls_port, &error_fatal);
 
     spice_server_set_name(spice_server, qemu_name);
     spice_server_set_uuid(spice_server, (unsigned char *)&qemu_uuid);