Jacek Caban : mshtml: Add trailing null byte to post data.
Alexandre Julliard
julliard at winehq.org
Thu Sep 26 15:44:07 CDT 2013
Module: wine
Branch: master
Commit: 7bcbb93c5a308c5270dacf265dfc03764a8fd0cb
URL: http://source.winehq.org/git/wine.git/?a=commit;h=7bcbb93c5a308c5270dacf265dfc03764a8fd0cb
Author: Jacek Caban <jacek at codeweavers.com>
Date: Thu Sep 26 17:35:13 2013 +0200
mshtml: Add trailing null byte to post data.
---
dlls/mshtml/navigate.c | 8 +++++---
1 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/dlls/mshtml/navigate.c b/dlls/mshtml/navigate.c
index 539d2c4..be3d1a8 100644
--- a/dlls/mshtml/navigate.c
+++ b/dlls/mshtml/navigate.c
@@ -1022,7 +1022,7 @@ static HRESULT read_post_data_stream(nsIInputStream *stream, BOOL contains_heade
if(NS_FAILED(nsres))
return E_FAIL;
- post_data = data = GlobalAlloc(0, available);
+ post_data = data = GlobalAlloc(0, available+1);
if(!data)
return E_OUTOFMEMORY;
@@ -1080,7 +1080,7 @@ static HRESULT read_post_data_stream(nsIInputStream *stream, BOOL contains_heade
}else if(post_data != data) {
char *new_data;
- new_data = GlobalAlloc(0, data_len);
+ new_data = GlobalAlloc(0, data_len+1);
if(new_data)
memcpy(new_data, post_data, data_len);
GlobalFree(data);
@@ -1089,6 +1089,7 @@ static HRESULT read_post_data_stream(nsIInputStream *stream, BOOL contains_heade
post_data = new_data;
}
+ post_data[data_len] = 0;
request_data->post_data = post_data;
request_data->post_data_len = data_len;
TRACE("post_data = %s\n", debugstr_an(request_data->post_data, request_data->post_data_len));
@@ -1877,7 +1878,7 @@ HRESULT create_channelbsc(IMoniker *mon, const WCHAR *headers, BYTE *post_data,
}
if(post_data) {
- ret->bsc.request_data.post_data = GlobalAlloc(0, post_data_size);
+ ret->bsc.request_data.post_data = GlobalAlloc(0, post_data_size+1);
if(!ret->bsc.request_data.post_data) {
release_request_data(&ret->bsc.request_data);
IBindStatusCallback_Release(&ret->bsc.IBindStatusCallback_iface);
@@ -1885,6 +1886,7 @@ HRESULT create_channelbsc(IMoniker *mon, const WCHAR *headers, BYTE *post_data,
}
memcpy(ret->bsc.request_data.post_data, post_data, post_data_size);
+ ((BYTE*)ret->bsc.request_data.post_data)[post_data_size] = 0;
ret->bsc.request_data.post_data_len = post_data_size;
}
More information about the wine-cvs
mailing list