From: Roland Scheidegger Date: Fri, 30 Aug 2013 14:34:26 +0000 (+0200) Subject: softpipe: check if so_target is NULL before accessing it X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=81ab3e57bc049b280f9d41bdcbfd0a9f327f6bde;p=mesa.git softpipe: check if so_target is NULL before accessing it No idea if this is working right but copied straight from llvmpipe. (Not only does this check the so_target but also use buffer->data instead of buffer for the mapping.) Just trying to get rid of a segfault testing something else... Reviewed-by: Jose Fonseca Reviewed-by: Zack Rusin --- diff --git a/src/gallium/drivers/softpipe/sp_draw_arrays.c b/src/gallium/drivers/softpipe/sp_draw_arrays.c index 6b06f70a16e..4d56b1c06ce 100644 --- a/src/gallium/drivers/softpipe/sp_draw_arrays.c +++ b/src/gallium/drivers/softpipe/sp_draw_arrays.c @@ -107,8 +107,11 @@ softpipe_draw_vbo(struct pipe_context *pipe, for (i = 0; i < sp->num_so_targets; i++) { - void *buf = softpipe_resource_data(sp->so_targets[i]->target.buffer); - sp->so_targets[i]->mapping = buf; + void *buf = 0; + if (sp->so_targets[i]) { + buf = softpipe_resource(sp->so_targets[i]->target.buffer)->data; + sp->so_targets[i]->mapping = buf; + } } draw_set_mapped_so_targets(draw, sp->num_so_targets,