Module: wine Branch: master Commit: 63874db740a38bffc038cfb9deb7800176e96ed3 URL: https://gitlab.winehq.org/wine/wine/-/commit/63874db740a38bffc038cfb9deb7800...
Author: Davide Beatrici git@davidebeatrici.dev Date: Wed Jun 28 09:10:02 2023 +0200
wineoss: Return E_UNEXPECTED with invalid dataflow in GetAudioEndpoint.
---
dlls/wineoss.drv/mmdevdrv.c | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/dlls/wineoss.drv/mmdevdrv.c b/dlls/wineoss.drv/mmdevdrv.c index 3322374cb90..6bc1002bff7 100644 --- a/dlls/wineoss.drv/mmdevdrv.c +++ b/dlls/wineoss.drv/mmdevdrv.c @@ -306,6 +306,10 @@ HRESULT WINAPI AUDDRV_GetAudioEndpoint(GUID *guid, IMMDevice *dev, WARN("Unknown GUID: %s\n", debugstr_guid(guid)); return AUDCLNT_E_DEVICE_INVALIDATED; } + + if(oss_dev->flow != eRender && oss_dev->flow != eCapture) + return E_UNEXPECTED; + len = strlen(oss_dev->devnode); This = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, offsetof(ACImpl, device_name[len + 1])); if(!This)