llvmpipe: Do not need to free anything if there is no geometry shader.
If gs is null, then freeing state->shader.tokens would result in a null dereference. Fixes "Dereference after null check" defect reported by Coverity. Signed-off-by: Vinson Lee <vlee@freedesktop.org> Reviewed-by: Brian Paul <brianp@vmware.com>
This commit is contained in:
parent
60b567ee59
commit
b57c1e4b86
|
@ -100,8 +100,11 @@ llvmpipe_delete_gs_state(struct pipe_context *pipe, void *gs)
|
||||||
struct lp_geometry_shader *state =
|
struct lp_geometry_shader *state =
|
||||||
(struct lp_geometry_shader *)gs;
|
(struct lp_geometry_shader *)gs;
|
||||||
|
|
||||||
draw_delete_geometry_shader(llvmpipe->draw,
|
if (!state) {
|
||||||
(state) ? state->draw_data : 0);
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
draw_delete_geometry_shader(llvmpipe->draw, state->draw_data);
|
||||||
FREE( (void *)state->shader.tokens );
|
FREE( (void *)state->shader.tokens );
|
||||||
FREE(state);
|
FREE(state);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue