summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMichal Krol <[email protected]>2010-07-22 18:32:31 +0200
committerMichal Krol <[email protected]>2010-07-23 16:20:36 +0200
commita0fc83b277ad26d63545996b2affa7da6772e32a (patch)
tree0f79e7ad9adeeeb7997b125a2f431ffbf8aba9c9 /src
parent0811b096690090dbd86b1433c0214cca619e0519 (diff)
softpipe: Check for NULL pointer in sp_destroy_tex_tile_cache().
Diffstat (limited to 'src')
-rw-r--r--src/gallium/drivers/softpipe/sp_tex_tile_cache.c24
1 files changed, 13 insertions, 11 deletions
diff --git a/src/gallium/drivers/softpipe/sp_tex_tile_cache.c b/src/gallium/drivers/softpipe/sp_tex_tile_cache.c
index b3e1c494069..eb74f14a7be 100644
--- a/src/gallium/drivers/softpipe/sp_tex_tile_cache.c
+++ b/src/gallium/drivers/softpipe/sp_tex_tile_cache.c
@@ -63,19 +63,21 @@ sp_create_tex_tile_cache( struct pipe_context *pipe )
void
sp_destroy_tex_tile_cache(struct softpipe_tex_tile_cache *tc)
{
- uint pos;
+ if (tc) {
+ uint pos;
- for (pos = 0; pos < NUM_ENTRIES; pos++) {
- /*assert(tc->entries[pos].x < 0);*/
- }
- if (tc->transfer) {
- tc->pipe->transfer_destroy(tc->pipe, tc->transfer);
- }
- if (tc->tex_trans) {
- tc->pipe->transfer_destroy(tc->pipe, tc->tex_trans);
- }
+ for (pos = 0; pos < NUM_ENTRIES; pos++) {
+ /*assert(tc->entries[pos].x < 0);*/
+ }
+ if (tc->transfer) {
+ tc->pipe->transfer_destroy(tc->pipe, tc->transfer);
+ }
+ if (tc->tex_trans) {
+ tc->pipe->transfer_destroy(tc->pipe, tc->tex_trans);
+ }
- FREE( tc );
+ FREE( tc );
+ }
}