Otherwise we risk causing memory corruption.

v2: forgot the mutex_unlock()

Signed-off-by: Emil Velikov <emil.l.veli...@gmail.com>
---
 src/gallium/state_trackers/vdpau/surface.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/gallium/state_trackers/vdpau/surface.c 
b/src/gallium/state_trackers/vdpau/surface.c
index 1bebe6c..16ad5c4 100644
--- a/src/gallium/state_trackers/vdpau/surface.c
+++ b/src/gallium/state_trackers/vdpau/surface.c
@@ -87,6 +87,12 @@ vlVdpVideoSurfaceCreate(VdpDevice device, VdpChromaType 
chroma_type,
       PIPE_VIDEO_CAP_PREFERS_INTERLACED
    );
    p_surf->video_buffer = pipe->create_video_buffer(pipe, &p_surf->templat);
+   if (!p_surf->video_buffer) {
+      pipe_mutex_unlock(dev->mutex);
+      ret = VDP_STATUS_RESOURCES;
+      goto inv_device;
+   }
+
    vlVdpVideoSurfaceClear(p_surf);
    pipe_mutex_unlock(dev->mutex);
 
-- 
1.8.3.4

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to