diff options
author | Erik Faye-Lund <[email protected]> | 2018-09-20 09:21:38 +0100 |
---|---|---|
committer | Erik Faye-Lund <[email protected]> | 2018-09-27 10:33:44 +0200 |
commit | c3486cd8c9092cbe33dfc77b906e2475b1e32c8d (patch) | |
tree | 7c4d118167f3b669282b727655f584b49a08155c | |
parent | dd333c66bdcb11c0d7c522642761490aced2b7ab (diff) |
st/mesa: do not call update_framebuffer_size with NULL pointer
In st_renderbuffer_alloc_storage, we avoid allocating storage for
zero-sized buffers, leading to this pointer being NULL. We already
take care to avoid dereferencing these pointers for color-buffers,
but not for depth/stencil-buffers.
So let's thread a bit more carefully here.
This avoids a crash while running Piglit's glx/glx-visuals-stencil
test, both on virgl and r600g.
Signed-off-by: Erik Faye-Lund <[email protected]>
Reviewed-by: Guillaume Charifi <[email protected]>
Reviewed-by: Marek Olšák <[email protected]>
-rw-r--r-- | src/mesa/state_tracker/st_atom_framebuffer.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/mesa/state_tracker/st_atom_framebuffer.c b/src/mesa/state_tracker/st_atom_framebuffer.c index 807c312a5db..a0dd0d1f649 100644 --- a/src/mesa/state_tracker/st_atom_framebuffer.c +++ b/src/mesa/state_tracker/st_atom_framebuffer.c @@ -181,7 +181,8 @@ st_update_framebuffer_state( struct st_context *st ) st_update_renderbuffer_surface(st, strb); } framebuffer.zsbuf = strb->surface; - update_framebuffer_size(&framebuffer, strb->surface); + if (strb->surface) + update_framebuffer_size(&framebuffer, strb->surface); } else framebuffer.zsbuf = NULL; |