diff --git a/dlls/mlang/mlang.c b/dlls/mlang/mlang.c index b5b8e0d235d..7a77df5f8ca 100644 --- a/dlls/mlang/mlang.c +++ b/dlls/mlang/mlang.c @@ -634,10 +634,9 @@ HRESULT WINAPI ConvertINetString( pDstStrW = HeapAlloc(GetProcessHeap(), 0, cDstSizeW * sizeof(WCHAR)); hr = ConvertINetMultiByteToUnicode(pdwMode, dwSrcEncoding, pSrcStr, pcSrcSize, pDstStrW, &cDstSizeW); - if (hr != S_OK) - return hr; + if (hr == S_OK) + hr = ConvertINetUnicodeToMultiByte(pdwMode, dwDstEncoding, pDstStrW, &cDstSizeW, pDstStr, pcDstSize); - hr = ConvertINetUnicodeToMultiByte(pdwMode, dwDstEncoding, pDstStrW, &cDstSizeW, pDstStr, pcDstSize); HeapFree(GetProcessHeap(), 0, pDstStrW); return hr; }