Zhiyi Zhang : dxgi: Check NULL output parameter in dxgi_adapter_EnumOutputs().
Module: wine Branch: master Commit: ba4ee497050df6bb211bfba47e268d67ee6cd198 URL: https://source.winehq.org/git/wine.git/?a=commit;h=ba4ee497050df6bb211bfba47... Author: Zhiyi Zhang <zzhang(a)codeweavers.com> Date: Thu Feb 20 20:48:18 2020 +0800 dxgi: Check NULL output parameter in dxgi_adapter_EnumOutputs(). Signed-off-by: Zhiyi Zhang <zzhang(a)codeweavers.com> Signed-off-by: Henri Verbeet <hverbeet(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/dxgi/adapter.c | 3 +++ dlls/dxgi/tests/dxgi.c | 3 +++ 2 files changed, 6 insertions(+) diff --git a/dlls/dxgi/adapter.c b/dlls/dxgi/adapter.c index d2fc629c84..7cdf7bd0d6 100644 --- a/dlls/dxgi/adapter.c +++ b/dlls/dxgi/adapter.c @@ -128,6 +128,9 @@ static HRESULT STDMETHODCALLTYPE dxgi_adapter_EnumOutputs(IWineDXGIAdapter *ifac TRACE("iface %p, output_idx %u, output %p.\n", iface, output_idx, output); + if (!output) + return E_INVALIDARG; + if (output_idx > 0) { *output = NULL; diff --git a/dlls/dxgi/tests/dxgi.c b/dlls/dxgi/tests/dxgi.c index 3ff42c4bc6..e2b5df7b27 100644 --- a/dlls/dxgi/tests/dxgi.c +++ b/dlls/dxgi/tests/dxgi.c @@ -1175,6 +1175,9 @@ static void test_output(void) hr = IDXGIDevice_GetAdapter(device, &adapter); ok(SUCCEEDED(hr), "GetAdapter failed, hr %#x.\n", hr); + hr = IDXGIAdapter_EnumOutputs(adapter, 0, NULL); + ok(hr == E_INVALIDARG, "Got unexpected hr %#x.\n", hr); + hr = IDXGIAdapter_EnumOutputs(adapter, 0, &output); if (hr == DXGI_ERROR_NOT_FOUND) {
participants (1)
-
Alexandre Julliard