Skip to content
  • Olivier Fourdan's avatar
    xwayland: Do not free a NULL GBM bo · dfd51be3
    Olivier Fourdan authored and Adam Jackson's avatar Adam Jackson committed
    
    
    Both `gbm_bo_create()` and `gbm_bo_create_with_modifiers()` can fail and
    return `NULL`.
    
    If that occurs, `xwl_glamor_gbm_create_pixmap()` will not create a
    pixmap for the (NULL) GBM bo, but would still try to free the bo which
    leads to a crash in mesa:
    
      [...]
      #7  <signal handler called>
      #8  in gbm_bo_destroy (bo=0x0) at ../src/gbm/main/gbm.c:439
      #9  in xwl_glamor_gbm_create_pixmap () at xwayland-glamor-gbm.c:245
      #10 in ProcCreatePixmap () at dispatch.c:1440
      #11 in Dispatch () at dispatch.c:478
      #12 in dix_main () at main.c:276
    
    To avoid the crash, only free the GBM bo if not `NULL`.
    
    Signed-off-by: default avatarOlivier Fourdan <ofourdan@redhat.com>
    Reviewed-by: default avatarMichel Dänzer <michel.daenzer@amd.com>
    Bugzilla: https://bugzilla.redhat.com/1729925
    (cherry picked from commit d9ec5250)
    dfd51be3