[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH for-2.5] vnc: fix segfault
From: |
Anthony PERARD |
Subject: |
Re: [Qemu-devel] [PATCH for-2.5] vnc: fix segfault |
Date: |
Wed, 25 Nov 2015 15:10:49 +0000 |
User-agent: |
Mutt/1.5.24 (2015-08-30) |
On Wed, Nov 25, 2015 at 08:09:58AM +0100, Gerd Hoffmann wrote:
> Commit "c7628bf vnc: only alloc server surface with clients connected"
> missed one rarely used codepath (cirrus with guest drivers using 2d
> accel) where we have to check for the server surface being present,
> to avoid qemu crashing with a NULL pointer dereference. Add the check.
>
> Reported-by: Anthony PERARD <address@hidden>
> Signed-off-by: Gerd Hoffmann <address@hidden>
This works for me.
Thanks.
> ---
> ui/vnc.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/ui/vnc.c b/ui/vnc.c
> index c9f2fed..7538405 100644
> --- a/ui/vnc.c
> +++ b/ui/vnc.c
> @@ -931,6 +931,11 @@ static void vnc_dpy_copy(DisplayChangeListener *dcl,
> int i, x, y, pitch, inc, w_lim, s;
> int cmp_bytes;
>
> + if (!vd->server) {
> + /* no client connected */
> + return;
> + }
> +
> vnc_refresh_server_surface(vd);
> QTAILQ_FOREACH_SAFE(vs, &vd->clients, next, vn) {
> if (vnc_has_feature(vs, VNC_FEATURE_COPYRECT)) {
> --
> 1.8.3.1
>
--
Anthony PERARD