st/vdpau: fix possible NULL dereference
authorGrigori Goronzy <greg@chown.ath.cx>
Sun, 2 Mar 2014 11:57:03 +0000 (12:57 +0100)
committerChristian König <christian.koenig@amd.com>
Mon, 3 Mar 2014 17:37:35 +0000 (18:37 +0100)
Reviewed-by: Christian König <christian.koenig@amd.com>
src/gallium/state_trackers/vdpau/mixer.c

index 996fd8e1602ac828d2ff0979c1d8464d85960fcf..e6bfb8cbc43120803e8772e53fed81f38ea321e0 100644 (file)
@@ -242,16 +242,16 @@ VdpStatus vlVdpVideoMixerRender(VdpVideoMixer mixer,
    compositor = &vmixer->device->compositor;
 
    surf = vlGetDataHTAB(video_surface_current);
-   video_buffer = surf->video_buffer;
    if (!surf)
       return VDP_STATUS_INVALID_HANDLE;
+   video_buffer = surf->video_buffer;
 
    if (surf->device != vmixer->device)
       return VDP_STATUS_HANDLE_DEVICE_MISMATCH;
 
-   if (vmixer->video_width > surf->video_buffer->width ||
-       vmixer->video_height > surf->video_buffer->height ||
-       vmixer->chroma_format != surf->video_buffer->chroma_format)
+   if (vmixer->video_width > video_buffer->width ||
+       vmixer->video_height > video_buffer->height ||
+       vmixer->chroma_format != video_buffer->chroma_format)
       return VDP_STATUS_INVALID_SIZE;
 
    if (layer_count > vmixer->max_layers)