diff --git a/dlls/msvfw32/mciwnd.c b/dlls/msvfw32/mciwnd.c index e561b14138d..fc499732ef4 100644 --- a/dlls/msvfw32/mciwnd.c +++ b/dlls/msvfw32/mciwnd.c @@ -1070,27 +1070,33 @@ end_of_mci_open: case MCIWNDM_GETDEVICEA: { + int len = 0; + char *str = (char *)lParam; MCI_SYSINFO_PARMSA mci_sysinfo; - mci_sysinfo.lpstrReturn = (LPSTR)lParam; + mci_sysinfo.lpstrReturn = str; mci_sysinfo.dwRetSize = wParam; mwi->lasterror = mciSendCommandA(mwi->mci, MCI_SYSINFO, MCI_SYSINFO_INSTALLNAME, (DWORD_PTR)&mci_sysinfo); - TRACE("MCIWNDM_GETDEVICEA: %s\n", debugstr_an((LPSTR)lParam, wParam)); + while(len < wParam && str[len]) len++; + TRACE("MCIWNDM_GETDEVICEA: %s\n", debugstr_an(str, len)); return 0; } case MCIWNDM_GETDEVICEW: { + int len = 0; + WCHAR *str = (WCHAR *)lParam; MCI_SYSINFO_PARMSW mci_sysinfo; - mci_sysinfo.lpstrReturn = (LPWSTR)lParam; + mci_sysinfo.lpstrReturn = str; mci_sysinfo.dwRetSize = wParam; mwi->lasterror = mciSendCommandW(mwi->mci, MCI_SYSINFO, MCI_SYSINFO_INSTALLNAME, (DWORD_PTR)&mci_sysinfo); - TRACE("MCIWNDM_GETDEVICEW: %s\n", debugstr_wn((LPWSTR)lParam, wParam)); + while(len < wParam && str[len]) len++; + TRACE("MCIWNDM_GETDEVICEW: %s\n", debugstr_wn(str, len)); return 0; }