From: José Fonseca Date: Fri, 18 Jun 2010 16:37:37 +0000 (+0100) Subject: llvmpipe: Fix pointer dereference after free. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=d7f4250333f3649d170d71bfdc5f2faba4e8c5f8;p=mesa.git llvmpipe: Fix pointer dereference after free. --- diff --git a/src/gallium/drivers/llvmpipe/lp_state_fs.c b/src/gallium/drivers/llvmpipe/lp_state_fs.c index 48c7754e41a..c3ecd77830b 100644 --- a/src/gallium/drivers/llvmpipe/lp_state_fs.c +++ b/src/gallium/drivers/llvmpipe/lp_state_fs.c @@ -1079,8 +1079,9 @@ llvmpipe_delete_fs_state(struct pipe_context *pipe, void *fs) li = first_elem(&shader->variants); while(!at_end(&shader->variants, li)) { + struct lp_fs_variant_list_item *next = next_elem(li); remove_shader_variant(llvmpipe, li->base); - li = next_elem(li); + li = next; } assert(shader->variants_cached == 0);