[Mesa-dev] [PATCH] st/vdpau: correct null check

Thomas Hindoe Paaboel Andersen phomes at gmail.com
Wed Mar 30 06:13:24 UTC 2016


The null check of result was the wrong way around. Also, move memset
and dereference of result after the null check.
---
 src/gallium/state_trackers/vdpau/surface.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/gallium/state_trackers/vdpau/surface.c b/src/gallium/state_trackers/vdpau/surface.c
index 0550141..d418d56 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;
-- 
2.5.5



More information about the mesa-dev mailing list