diff --git a/dll/win32/winhttp/CMakeLists.txt b/dll/win32/winhttp/CMakeLists.txt index f0dca0805ed..b8bf4061038 100644 --- a/dll/win32/winhttp/CMakeLists.txt +++ b/dll/win32/winhttp/CMakeLists.txt @@ -28,7 +28,7 @@ add_library(winhttp MODULE ${CMAKE_CURRENT_BINARY_DIR}/winhttp.def) set_module_type(winhttp win32dll) -target_link_libraries(winhttp uuid wine) +target_link_libraries(winhttp uuid wine ${PSEH_LIB}) add_delay_importlibs(winhttp oleaut32 ole32 crypt32 secur32) add_importlibs(winhttp user32 advapi32 ws2_32 jsproxy kernel32_vista msvcrt kernel32 ntdll) add_dependencies(winhttp stdole2) diff --git a/dll/win32/winhttp/request.c b/dll/win32/winhttp/request.c index da28f7b1826..a7aae4b5be9 100644 --- a/dll/win32/winhttp/request.c +++ b/dll/win32/winhttp/request.c @@ -24,6 +24,7 @@ #include "ws2tcpip.h" #include #include +#include #include "windef.h" #include "winbase.h" @@ -2989,7 +2990,16 @@ done: } } - if (ret && available) *available = count; + _SEH2_TRY + { + if (ret && available) *available = count; + } + _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) + { + // No Action + } + _SEH2_END; + return ret; }