Module: wine Branch: master Commit: c94e646fc16ac027ba8774b62b6977c4b3a0e05f URL: http://source.winehq.org/git/wine.git/?a=commit;h=c94e646fc16ac027ba8774b62b...
Author: Jacek Caban jacek@codeweavers.com Date: Wed Mar 26 15:32:46 2008 +0100
mshtml: Fixed invalid use of -1 length in WideCharToMultiByte calls.
---
dlls/mshtml/editor.c | 7 +------ dlls/mshtml/install.c | 7 ++----- dlls/mshtml/persist.c | 2 +- 3 files changed, 4 insertions(+), 12 deletions(-)
diff --git a/dlls/mshtml/editor.c b/dlls/mshtml/editor.c index 057ac24..12f2c35 100644 --- a/dlls/mshtml/editor.c +++ b/dlls/mshtml/editor.c @@ -559,7 +559,6 @@ static HRESULT exec_fontname(HTMLDocument *This, DWORD cmdexecopt, VARIANT *in,
if(in) { char *stra; - DWORD len;
if(V_VT(in) != VT_BSTR) { FIXME("Unsupported vt=%d\n", V_VT(out)); @@ -568,12 +567,8 @@ static HRESULT exec_fontname(HTMLDocument *This, DWORD cmdexecopt, VARIANT *in,
TRACE("%s\n", debugstr_w(V_BSTR(in)));
- len = WideCharToMultiByte(CP_ACP, 0, V_BSTR(in), -1, NULL, 0, NULL, NULL); - stra = heap_alloc(len); - WideCharToMultiByte(CP_ACP, 0, V_BSTR(in), -1, stra, -1, NULL, NULL); - + stra = heap_strdupWtoA(V_BSTR(in)); set_ns_fontname(This->nscontainer, stra); - heap_free(stra);
update_doc(This, UPDATE_UI); diff --git a/dlls/mshtml/install.c b/dlls/mshtml/install.c index fd36290..edb5f58 100644 --- a/dlls/mshtml/install.c +++ b/dlls/mshtml/install.c @@ -135,7 +135,7 @@ static BOOL install_cab(LPCWSTR file_name) char install_dir[MAX_PATH]; HRESULT (WINAPI *pExtractFilesA)(LPCSTR,LPCSTR,DWORD,LPCSTR,LPVOID,DWORD); LPSTR file_name_a; - DWORD res, len; + DWORD res; HRESULT hres;
static const WCHAR wszAdvpack[] = {'a','d','v','p','a','c','k','.','d','l','l',0}; @@ -160,11 +160,8 @@ static BOOL install_cab(LPCWSTR file_name) advpack = LoadLibraryW(wszAdvpack); pExtractFilesA = (void *)GetProcAddress(advpack, "ExtractFiles");
- len = WideCharToMultiByte(CP_ACP, 0, file_name, -1, NULL, 0, NULL, NULL); - file_name_a = heap_alloc(len); - WideCharToMultiByte(CP_ACP, 0, file_name, -1, file_name_a, -1, NULL, NULL); - /* FIXME: Use unicode version (not yet implemented) */ + file_name_a = heap_strdupWtoA(file_name); hres = pExtractFilesA(file_name_a, install_dir, 0, NULL, NULL, 0); FreeLibrary(advpack); heap_free(file_name_a); diff --git a/dlls/mshtml/persist.c b/dlls/mshtml/persist.c index a094dc1..78a5d6b 100644 --- a/dlls/mshtml/persist.c +++ b/dlls/mshtml/persist.c @@ -134,7 +134,7 @@ static nsIInputStream *get_post_data_stream(IBindCtx *bctx) data = heap_alloc(headers_len+post_len+sizeof(content_length)+8);
if(headers_len) { - WideCharToMultiByte(CP_ACP, 0, headers, -1, data, -1, NULL, NULL); + WideCharToMultiByte(CP_ACP, 0, headers, -1, data, headers_len, NULL, NULL); len = fix_headers(data, post_len); }