diff options
author | Eric Anholt <eric@anholt.net> | 2009-12-22 12:38:11 -0800 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2009-12-22 14:20:26 -0800 |
commit | b08ed4f5955ef72309b6e20d865faf6d925c8c6e (patch) | |
tree | ce4404bd282dbb84ef298711ccfdb1f0ecf8e50b /src/mesa/shader | |
parent | fbeceec97b50a5e377a730d01d48c08faf8f6596 (diff) | |
download | external_mesa3d-b08ed4f5955ef72309b6e20d865faf6d925c8c6e.zip external_mesa3d-b08ed4f5955ef72309b6e20d865faf6d925c8c6e.tar.gz external_mesa3d-b08ed4f5955ef72309b6e20d865faf6d925c8c6e.tar.bz2 |
mesa: Fix a NULL deref in glDeleteFragmentShaderATI(badname);
Fixes piglit ati-fs-bad-delete. Caught by clang.
Diffstat (limited to 'src/mesa/shader')
-rw-r--r-- | src/mesa/shader/atifragshader.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/mesa/shader/atifragshader.c b/src/mesa/shader/atifragshader.c index ac087d4..e04a05b 100644 --- a/src/mesa/shader/atifragshader.c +++ b/src/mesa/shader/atifragshader.c @@ -290,9 +290,11 @@ _mesa_DeleteFragmentShaderATI(GLuint id) /* The ID is immediately available for re-use now */ _mesa_HashRemove(ctx->Shared->ATIShaders, id); - prog->RefCount--; - if (prog->RefCount <= 0) { - _mesa_free(prog); + if (prog) { + prog->RefCount--; + if (prog->RefCount <= 0) { + _mesa_free(prog); + } } } } |