i965/bufmgr: Handle NULL bufmgr in brw_bufmgr_get_for_fd
authorMichel Dänzer <mdaenzer@redhat.com>
Tue, 27 Oct 2020 10:40:05 +0000 (11:40 +0100)
committerMarge Bot <eric+marge@anholt.net>
Mon, 2 Nov 2020 18:19:19 +0000 (18:19 +0000)
brw_bufmgr_create can return NULL, in which case we'd crash in
list_addtail.

Reported by Coverity/clang.

Fixes: 4094558e8643 ("i965: share buffer managers across screens")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7335>

src/mesa/drivers/dri/i965/brw_bufmgr.c

index f0d6937..65488c8 100644 (file)
@@ -1947,7 +1947,8 @@ brw_bufmgr_get_for_fd(struct gen_device_info *devinfo, int fd, bool bo_reuse)
    }
 
    bufmgr = brw_bufmgr_create(devinfo, fd, bo_reuse);
-   list_addtail(&bufmgr->link, &global_bufmgr_list);
+   if (bufmgr)
+      list_addtail(&bufmgr->link, &global_bufmgr_list);
 
  unlock:
    mtx_unlock(&global_bufmgr_list_mutex);