Davide Beatrici (@davidebeatrici) commented about dlls/wineoss.drv/mmdevdrv.c:
-static void get_device_guid(EDataFlow flow, const char *device, GUID *guid) +void WINAPI get_device_guid(EDataFlow flow, const char *device, GUID *guid) { HKEY key = NULL, dev_key; DWORD type, size = sizeof(*guid); WCHAR key_name[256]; + const unsigned int dev_size = strlen(device) + 1; + OSSDevice *oss_dev = HeapAlloc(GetProcessHeap(), 0, offsetof(OSSDevice, devnode[dev_size])); + + if(oss_dev){ + oss_dev->flow = flow; + oss_dev->guid = *guid; + memcpy(oss_dev->devnode, device, dev_size); + device_add(oss_dev); + }
An `HeapAlloc()` failure previously resulted in `GetEndpointIDs()` returning early. Is the change in behavior okay? -- https://gitlab.winehq.org/wine/wine/-/merge_requests/3561#note_42090