From 088cf45439d2c62b1f52fbdee8cbc3cd77d918ea Mon Sep 17 00:00:00 2001 From: WinterSnowfall Date: Fri, 4 Oct 2024 20:39:32 +0300 Subject: [PATCH] [d3d9] Validate 0 valued back buffer dimensions for fullscreen mode --- src/d3d9/d3d9_device.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/d3d9/d3d9_device.cpp b/src/d3d9/d3d9_device.cpp index 110a5783b..1c40f455f 100644 --- a/src/d3d9/d3d9_device.cpp +++ b/src/d3d9/d3d9_device.cpp @@ -8152,6 +8152,12 @@ namespace dxvk { " - Windowed: ", pPresentationParameters->Windowed ? "true" : "false", "\n", " - Swap effect: ", pPresentationParameters->SwapEffect, "\n")); + if (!pPresentationParameters->Windowed && + (pPresentationParameters->BackBufferWidth == 0 + || pPresentationParameters->BackBufferHeight == 0)) { + return D3DERR_INVALIDCALL; + } + if (backBufferFmt != D3D9Format::Unknown && !unlockedFormats) { if (!IsSupportedBackBufferFormat(backBufferFmt)) { Logger::err(str::format("D3D9DeviceEx::ResetSwapChain: Unsupported backbuffer format: ",