st/mesa: fix potential null deref if no shader is passed in
authorIlia Mirkin <imirkin@alum.mit.edu>
Wed, 3 Feb 2016 18:51:19 +0000 (13:51 -0500)
committerIlia Mirkin <imirkin@alum.mit.edu>
Wed, 3 Feb 2016 23:40:13 +0000 (18:40 -0500)
Spotted by Coverity

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
src/mesa/state_tracker/st_atom_storagebuf.c

index a581818d8c0dfac5cca08799f1c420551c209e84..f165cc3e0a18b80f58e36d611dec292a103de131 100644 (file)
@@ -46,11 +46,13 @@ st_bind_ssbos(struct st_context *st, struct gl_shader *shader,
 {
    unsigned i;
    struct pipe_shader_buffer buffers[MAX_SHADER_STORAGE_BUFFERS];
-   struct gl_program_constants *c = &st->ctx->Const.Program[shader->Stage];
+   struct gl_program_constants *c;
 
    if (!shader || !st->pipe->set_shader_buffers)
       return;
 
+   c = &st->ctx->Const.Program[shader->Stage];
+
    for (i = 0; i < shader->NumShaderStorageBlocks; i++) {
       struct gl_shader_storage_buffer_binding *binding;
       struct st_buffer_object *st_obj;