On Tue, 15 Jul 2025 at 07:43, <marcandre.lur...@redhat.com> wrote:
>
> From: Vivek Kasireddy <vivek.kasire...@intel.com>
>
> In cases where the scanout buffer is provided as a texture (e.g. Virgl)
> we need to check to see if it has a linear memory layout or not. If
> it doesn't have a linear layout, then blitting it onto the texture
> associated with the display surface (which already has a linear layout)
> seems to ensure that there is no corruption seen regardless of which
> encoder or decoder is used.

Hi; Coverity points out (CID 1612367) that this change
introduces a use of an uninitialized variable:

> @@ -1269,6 +1329,15 @@ static void qemu_spice_gl_update(DisplayChangeListener 
> *dcl,
>          glFlush();
>      }
>
> +    if (spice_remote_client && ssd->blit_scanout_texture) {
> +        egl_fb scanout_tex_fb;

We don't initialize scanout_tex_fb...

> +
> +        ret = spice_gl_blit_scanout_texture(ssd, &scanout_tex_fb);

...and we immediately pass it to spice_gl_blit_scanout_texture(),
which will unconditionally call egl_fb_destroy() on it.

> +        if (!ret) {
> +            return;
> +        }
> +    }

thanks
-- PMM

Reply via email to