"Jacek Caban" jack@itma.pwr.wroc.pl wrote:
@@ -1010,9 +1009,15 @@ static INT WINPROC_MapMsg32WTo32A( HWND case LB_DIR: case LB_ADDFILE: case EM_REPLACESEL:
if(!*plparam) return 0;*plparam = (LPARAM)HEAP_strdupWtoA( GetProcessHeap(), 0, (LPCWSTR)*plparam );return (*plparam ? 1 : -1);
if(*plparam) {LPSTR buf;int len = WideCharToMultiByte(CP_ACP, 0, (LPWSTR)*plparam, -1, NULL, 0, 0, 0);buf = HeapAlloc(GetProcessHeap(), 0, len*sizeof(CHAR));WideCharToMultiByte(CP_ACP, 0, (LPWSTR)*plparam, -1, buf, len, 0, 0);*plparam = (LPARAM)buf;return 1;}return 0;
It would be helpful to keep the test in the case of a buffer allocation failure here and everywhere else (and perhaps add the missing tests).