Hi, On 3 January 2017 at 02:36, Ben Widawsky <b...@bwidawsk.net> wrote: > static uint32_t > gbm_dri_bo_get_stride(struct gbm_bo *_bo, int plane) > { > - return _bo->stride; > + struct gbm_dri_device *dri = gbm_dri_device(_bo->gbm); > + struct gbm_dri_bo *bo = gbm_dri_bo(_bo); > + __DRIimage *image; > + int stride = 0; > + > + if (!dri->image || dri->image->base.version < 11 || > !dri->image->fromPlanar) { > + errno = ENOSYS; > + return 0; > + } > + > + if (bo->image == NULL) > + return _bo->stride; > + > + if (plane >= get_number_planes(dri, bo->image)) > + return 0;
Move the if (!bo->image) check below get_number_planes, otherwise you can pass silly plane indices and it'll always succeed. Cheers, Daniel _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev