[PATCH 47/60] ui/vnc: report an error for duplicate display id

Marc-André Lureau posted 60 patches 2 weeks, 6 days ago
Maintainers: "Marc-André Lureau" <marcandre.lureau@redhat.com>, John Snow <jsnow@redhat.com>, Peter Maydell <peter.maydell@linaro.org>, Mauro Carvalho Chehab <mchehab+huawei@kernel.org>, Pierrick Bouvier <pierrick.bouvier@linaro.org>, Jan Kiszka <jan.kiszka@web.de>, Phil Dennis-Jordan <phil@philjordan.eu>, Richard Henderson <richard.henderson@linaro.org>, Helge Deller <deller@gmx.de>, "Philippe Mathieu-Daudé" <philmd@linaro.org>, Gerd Hoffmann <kraxel@redhat.com>, Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>, Samuel Tardieu <sam@rfc1149.net>, Igor Mitsyanko <i.mitsyanko@gmail.com>, "Hervé Poussineau" <hpoussin@reactos.org>, Aleksandar Rikalo <arikalo@gmail.com>, Laurent Vivier <laurent@vivier.eu>, Thomas Huth <th.huth+qemu@posteo.eu>, BALATON Zoltan <balaton@eik.bme.hu>, "Michael S. Tsirkin" <mst@redhat.com>, Stefano Garzarella <sgarzare@redhat.com>, "Alex Bennée" <alex.bennee@linaro.org>, Akihiko Odaki <odaki@rsg.ci.i.u-tokyo.ac.jp>, Dmitry Osipenko <dmitry.osipenko@collabora.com>, Dmitry Fleytman <dmitry.fleytman@gmail.com>, Stefano Stabellini <sstabellini@kernel.org>, Anthony PERARD <anthony@xenproject.org>, "Edgar E. Iglesias" <edgar.iglesias@gmail.com>, Alistair Francis <alistair@alistair23.me>, Alex Williamson <alex@shazbot.org>, "Cédric Le Goater" <clg@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, "Daniel P. Berrangé" <berrange@redhat.com>, Fabiano Rosas <farosas@suse.de>
[PATCH 47/60] ui/vnc: report an error for duplicate display id
Posted by Marc-André Lureau 2 weeks, 6 days ago
Returning NULL without setting an error is odd.

Note that we could make this a programming error too, as the duplicate
check is also done during QemuOpt parsing.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
---
 ui/vnc.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/ui/vnc.c b/ui/vnc.c
index 03b99c9e590..2c53c92914b 100644
--- a/ui/vnc.c
+++ b/ui/vnc.c
@@ -3428,6 +3428,7 @@ VncDisplay *vnc_display_new(const char *id, Error **errp)
     VncDisplay *vd;
 
     if (vnc_display_find(id) != NULL) {
+        error_setg(errp, "Display '%s' already exists", id);
         return NULL;
     }
     vd = g_malloc0(sizeof(*vd));

-- 
2.53.0


Re: [PATCH 47/60] ui/vnc: report an error for duplicate display id
Posted by Daniel P. Berrangé 1 week, 6 days ago
On Tue, Mar 17, 2026 at 12:51:01PM +0400, Marc-André Lureau wrote:
> Returning NULL without setting an error is odd.
> 
> Note that we could make this a programming error too, as the duplicate
> check is also done during QemuOpt parsing.

IMHO we shouldn't rely on QemuOpts given our general intent to get
off QemuOpts to QMP for everything.

> 
> Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
> ---
>  ui/vnc.c | 1 +
>  1 file changed, 1 insertion(+)

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>


> 
> diff --git a/ui/vnc.c b/ui/vnc.c
> index 03b99c9e590..2c53c92914b 100644
> --- a/ui/vnc.c
> +++ b/ui/vnc.c
> @@ -3428,6 +3428,7 @@ VncDisplay *vnc_display_new(const char *id, Error **errp)
>      VncDisplay *vd;
>  
>      if (vnc_display_find(id) != NULL) {
> +        error_setg(errp, "Display '%s' already exists", id);
>          return NULL;
>      }
>      vd = g_malloc0(sizeof(*vd));
> 
> -- 
> 2.53.0
> 
> 

With regards,
Daniel
-- 
|: https://berrange.com       ~~        https://hachyderm.io/@berrange :|
|: https://libvirt.org          ~~          https://entangle-photo.org :|
|: https://pixelfed.art/berrange   ~~    https://fstop138.berrange.com :|