i965/sync: Don't crash when deleting sync object
authorChad Versace <chad.versace@intel.com>
Wed, 6 May 2015 02:05:28 +0000 (19:05 -0700)
committerChad Versace <chad.versace@intel.com>
Thu, 7 May 2015 15:11:21 +0000 (08:11 -0700)
Don't pass NULL to drm_intel_bo_unreference(). It doesn't like that.

Bug found by code inspection.

Reviewed-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/mesa/drivers/dri/i965/intel_syncobj.c

index e500fa0..3bc32df 100644 (file)
@@ -59,7 +59,9 @@ intel_delete_sync_object(struct gl_context *ctx, struct gl_sync_object *s)
 {
    struct intel_sync_object *sync = (struct intel_sync_object *)s;
 
-   drm_intel_bo_unreference(sync->bo);
+   if (sync->bo)
+      drm_intel_bo_unreference(sync->bo);
+
    free(sync);
 }