From 46dba701d81199e6450dc50ef3f0ff476dbfb17f Mon Sep 17 00:00:00 2001 From: Gurkirpal Singh Date: Sun, 26 Jun 2016 12:32:25 +0530 Subject: [PATCH] st/va: Check NULL pointer Call to handle_table_get in vlVaDestroySurfaces can return NULL on failure. CID: 1243522 Signed-off-by: Gurkirpal Singh Reviewed-by: Julien Isorce --- src/gallium/state_trackers/va/surface.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/gallium/state_trackers/va/surface.c b/src/gallium/state_trackers/va/surface.c index 5efb893..3e74353 100644 --- a/src/gallium/state_trackers/va/surface.c +++ b/src/gallium/state_trackers/va/surface.c @@ -71,6 +71,10 @@ vlVaDestroySurfaces(VADriverContextP ctx, VASurfaceID *surface_list, int num_sur pipe_mutex_lock(drv->mutex); for (i = 0; i < num_surfaces; ++i) { vlVaSurface *surf = handle_table_get(drv->htab, surface_list[i]); + if (!surf) { + pipe_mutex_unlock(drv->mutex); + return VA_STATUS_ERROR_INVALID_SURFACE; + } if (surf->buffer) surf->buffer->destroy(surf->buffer); util_dynarray_fini(&surf->subpics); -- 2.7.4