Message ID | 20181008173125.19678-28-armbru@redhat.com |
---|---|
State | New |
Headers | show |
Series | Replace some unwise uses of error_report() & friends | expand |
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 --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);
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(-)