Check on bo_fake before dereferencing the object in functions
evict_lru and evict_mru.

Signed-off-by: Praveen Paneri <praveen.pan...@intel.com>
---
 intel/intel_bufmgr_fake.c | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/intel/intel_bufmgr_fake.c b/intel/intel_bufmgr_fake.c
index c4828fa..129d344 100644
--- a/intel/intel_bufmgr_fake.c
+++ b/intel/intel_bufmgr_fake.c
@@ -557,8 +557,10 @@ evict_lru(drm_intel_bufmgr_fake *bufmgr_fake, unsigned int 
max_fence)
                                                            max_fence))
                        return 0;
 
-               set_dirty(&bo_fake->bo);
-               bo_fake->block = NULL;
+               if (bo_fake) {
+                       set_dirty(&bo_fake->bo);
+                       bo_fake->block = NULL;
+               }
 
                free_block(bufmgr_fake, block, 0);
                return 1;
@@ -577,11 +579,13 @@ evict_mru(drm_intel_bufmgr_fake *bufmgr_fake)
        DRMLISTFOREACHSAFEREVERSE(block, tmp, &bufmgr_fake->lru) {
                drm_intel_bo_fake *bo_fake = (drm_intel_bo_fake *) block->bo;
 
-               if (bo_fake && (bo_fake->flags & BM_NO_FENCE_SUBDATA))
-                       continue;
+               if (bo_fake) {
+                       if (bo_fake->flags & BM_NO_FENCE_SUBDATA)
+                               continue;
 
-               set_dirty(&bo_fake->bo);
-               bo_fake->block = NULL;
+                       set_dirty(&bo_fake->bo);
+                       bo_fake->block = NULL;
+               }
 
                free_block(bufmgr_fake, block, 0);
                return 1;
-- 
1.9.1

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to