From 1f5f4f3ad0b2bb97205b416c9b6c42affa694d80 Mon Sep 17 00:00:00 2001 From: Luke Usher Date: Mon, 12 Dec 2016 20:42:03 +0000 Subject: [PATCH] Fix a nullptr dereference in EmuDirectSoundBuffer8_Stop Eggo Mania no longer crashes, but instad shows a 'disc is dirty or damaged' screen --- src/CxbxKrnl/EmuDSound.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/CxbxKrnl/EmuDSound.cpp b/src/CxbxKrnl/EmuDSound.cpp index 77a7a55e4..fb46f6901 100644 --- a/src/CxbxKrnl/EmuDSound.cpp +++ b/src/CxbxKrnl/EmuDSound.cpp @@ -1444,10 +1444,12 @@ HRESULT WINAPI XTL::EmuIDirectSoundBuffer8_Stop ");\n", GetCurrentThreadId(), pThis); - HRESULT hRet = pThis->EmuDirectSoundBuffer8->Stop(); - + HRESULT hRet = D3D_OK; - + if (pThis != nullptr) { + hRet = pThis->EmuDirectSoundBuffer8->Stop(); + } + return hRet; }