From: Thomas Hindoe Paaboel Andersen Date: Wed, 30 Mar 2016 06:13:24 +0000 (+0200) Subject: st/vdpau: correct null check X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=9a73f5728e9b834c51128e34317854702281bf3e;p=mesa.git st/vdpau: correct null check The null check of result was the wrong way around. Also, move memset and dereference of result after the null check. Reviewed-by: Christian König --- diff --git a/src/gallium/state_trackers/vdpau/surface.c b/src/gallium/state_trackers/vdpau/surface.c index 0550141b597..d418d56a26a 100644 --- a/src/gallium/state_trackers/vdpau/surface.c +++ b/src/gallium/state_trackers/vdpau/surface.c @@ -426,18 +426,18 @@ VdpStatus vlVdpVideoSurfaceDMABuf(VdpVideoSurface surface, struct pipe_surface *surf; - memset(result, 0, sizeof(*result)); - result->handle = -1; - if (!p_surf) return VDP_STATUS_INVALID_HANDLE; if (plane > 3) return VDP_STATUS_INVALID_VALUE; - if (result) + if (!result) return VDP_STATUS_INVALID_POINTER; + memset(result, 0, sizeof(*result)); + result->handle = -1; + pipe_mutex_lock(p_surf->device->mutex); if (p_surf->video_buffer == NULL) { struct pipe_context *pipe = p_surf->device->context;