[vlc-commits] [Git][videolan/vlc][master] vdpau: fix segv when VDPAU uses VAAPI
Hugo Beauzée-Luyssen (@chouquette)
gitlab at videolan.org
Wed Jan 19 15:22:48 UTC 2022
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.
More information about the vlc-commits
mailing list