From 59b126f92225316e0cd77bb952d630553801dc85 Mon Sep 17 00:00:00 2001 From: Humberto Ribeiro Date: Wed, 3 Jan 2018 15:22:15 -0800 Subject: libavutil/hwcontext_dxva2: Add check for possible errors from GetAdapterDisplayModeEx This prevents a possible crash in CreateDeviceEx when using faulty response from GetAdapterDisplayModeEx and allows ffmpeg to fallback to classic d3d9. Signed-off-by: wm4 --- libavutil/hwcontext_dxva2.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'libavutil/hwcontext_dxva2.c') diff --git a/libavutil/hwcontext_dxva2.c b/libavutil/hwcontext_dxva2.c index 2ddd4be7b1..44ebdbca95 100644 --- a/libavutil/hwcontext_dxva2.c +++ b/libavutil/hwcontext_dxva2.c @@ -485,7 +485,11 @@ static int dxva2_device_create9ex(AVHWDeviceContext *ctx, UINT adapter) if (FAILED(hr)) return AVERROR_UNKNOWN; - IDirect3D9Ex_GetAdapterDisplayModeEx(d3d9ex, adapter, &modeex, NULL); + hr = IDirect3D9Ex_GetAdapterDisplayModeEx(d3d9ex, adapter, &modeex, NULL); + if (FAILED(hr)) { + IDirect3D9Ex_Release(d3d9ex); + return AVERROR_UNKNOWN; + } d3dpp.BackBufferFormat = modeex.Format; -- cgit v1.2.3