Hugo Beauzée-Luyssen pushed to branch master at VideoLAN / VLC


Commits:
f850dd91 by Pierre Lamot at 2022-01-19T13:49:49+00:00
vdpau: fix segv when VDPAU uses VAAPI

The Close function was called with an uninitialized structure

- - - - -


1 changed file:

- modules/hw/vdpau/device.c


Changes:

=====================================
modules/hw/vdpau/device.c
=====================================
@@ -67,6 +67,8 @@ static int ScreenNumberOfWindow(Display *dpy, Window w)
 
 static int Open(vlc_decoder_device *device, vout_window_t *window)
 {
+    int errCode = VLC_EGENERIC;
+
     if (window == NULL || window->type != VOUT_WINDOW_TYPE_XID)
         return VLC_ENOTSUP;
     if (!vlc_xlib_init(VLC_OBJECT(device)))
@@ -98,8 +100,10 @@ static int Open(vlc_decoder_device *device, vout_window_t 
*window)
     {
         if (strstr(infos, "VAAPI") != NULL)
         {
-            Close(device);
-            return -EACCES;
+            vdp_device_destroy(vi->device.vdp, vi->device.device);
+            vdp_destroy_x11(vi->device.vdp);
+            errCode = -EACCES;
+            goto error;
         }
 
         msg_Info(device, "Using %s", infos);
@@ -114,7 +118,7 @@ static int Open(vlc_decoder_device *device, vout_window_t 
*window)
 error:
     XCloseDisplay(vi->display);
     free(vi);
-    return VLC_EGENERIC;
+    return errCode;
 }
 
 vlc_module_begin()



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/f850dd91554acc829dd0160e69382dfaa701f991

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/f850dd91554acc829dd0160e69382dfaa701f991
You're receiving this email because of your account on code.videolan.org.


_______________________________________________
vlc-commits mailing list
[email protected]
https://mailman.videolan.org/listinfo/vlc-commits

Reply via email to