[Mesa-dev] [RFC] st: guard against NULL pipe_surface

Marek Olšák maraeo at gmail.com
Thu Aug 18 09:55:06 UTC 2016


Hi,

Do you have a test case?

Marek

On Thu, Aug 18, 2016 at 1:44 AM, Tobias Klausmann <
tobias.johannes.klausmann at mni.thm.de> wrote:

> OpenMW tries to upload a new surface (mouse pointer) which fails in the now
> guarded update_framebuffer_size() as the surface is NULL.
>
> This is not inteded as a real "fix", as it would just hide the immediate
> crash.
>
> So if somebody could take a look at this...
>
> Reported-by: <ovariegata at yahoo.com>
> Signed-off-by: Tobias Klausmann <tobias.johannes.klausmann at mni.thm.de>
> ---
>  src/mesa/state_tracker/st_atom_framebuffer.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/src/mesa/state_tracker/st_atom_framebuffer.c
> b/src/mesa/state_tracker/st_atom_framebuffer.c
> index ea41d9d..3ee4ea5 100644
> --- a/src/mesa/state_tracker/st_atom_framebuffer.c
> +++ b/src/mesa/state_tracker/st_atom_framebuffer.c
> @@ -177,8 +177,10 @@ update_framebuffer_state( struct st_context *st )
>           /* rendering to a GL texture, may have to update surface */
>           st_update_renderbuffer_surface(st, strb);
>        }
> -      pipe_surface_reference(&framebuffer->zsbuf, strb->surface);
> -      update_framebuffer_size(framebuffer, strb->surface);
> +      if (strb->surface) {
> +         pipe_surface_reference(&framebuffer->zsbuf, strb->surface);
> +         update_framebuffer_size(framebuffer, strb->surface);
> +      }
>     }
>     else {
>        strb = st_renderbuffer(fb->Attachment[BUFFER_STENCIL].
> Renderbuffer);
> --
> 2.9.2
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20160818/0164ecb5/attachment-0001.html>


More information about the mesa-dev mailing list