Signed-off-by: Hans Leidekker <hans(a)codeweavers.com>
---
dlls/winhttp/cookie.c | 50 +++---
dlls/winhttp/handle.c | 7 +-
dlls/winhttp/net.c | 34 ++--
dlls/winhttp/request.c | 316 +++++++++++++++++----------------
dlls/winhttp/session.c | 144 ++++++++-------
dlls/winhttp/url.c | 8 +-
dlls/winhttp/winhttp_private.h | 18 +-
7 files changed, 286 insertions(+), 291 deletions(-)
diff --git a/dlls/winhttp/cookie.c b/dlls/winhttp/cookie.c
index 6247e379ec7..ebcd1b4d17e 100644
--- a/dlls/winhttp/cookie.c
+++ b/dlls/winhttp/cookie.c
@@ -49,7 +49,7 @@ static struct domain *add_domain( struct session *session, WCHAR *name )
{
struct domain *domain;
- if (!(domain = heap_alloc_zero( sizeof(struct domain) ))) return NULL;
+ if (!(domain = calloc( 1, sizeof(*domain) ))) return NULL;
list_init( &domain->entry );
list_init( &domain->cookies );
@@ -89,10 +89,10 @@ static BOOL domain_match( const WCHAR *name, struct domain *domain, BOOL partial
static void free_cookie( struct cookie *cookie )
{
- heap_free( cookie->name );
- heap_free( cookie->value );
- heap_free( cookie->path );
- heap_free( cookie );
+ free( cookie->name );
+ free( cookie->value );
+ free( cookie->path );
+ free( cookie );
}
static void delete_cookie( struct cookie *cookie )
@@ -113,8 +113,8 @@ static void delete_domain( struct domain *domain )
}
list_remove( &domain->entry );
- heap_free( domain->name );
- heap_free( domain );
+ free( domain->name );
+ free( domain );
}
void destroy_cookies( struct session *session )
@@ -170,12 +170,12 @@ static struct cookie *parse_cookie( const WCHAR *string )
while (len && string[len - 1] == ' ') len--;
if (!len) return NULL;
- if (!(cookie = heap_alloc_zero( sizeof(struct cookie) ))) return NULL;
+ if (!(cookie = calloc( 1, sizeof(*cookie) ))) return NULL;
list_init( &cookie->entry );
- if (!(cookie->name = heap_alloc( (len + 1) * sizeof(WCHAR) )))
+ if (!(cookie->name = malloc( (len + 1) * sizeof(WCHAR) )))
{
- heap_free( cookie );
+ free( cookie );
return NULL;
}
memcpy( cookie->name, string, len * sizeof(WCHAR) );
@@ -187,7 +187,7 @@ static struct cookie *parse_cookie( const WCHAR *string )
len = lstrlenW( p );
while (len && p[len - 1] == ' ') len--;
- if (!(cookie->value = heap_alloc( (len + 1) * sizeof(WCHAR) )))
+ if (!(cookie->value = malloc( (len + 1) * sizeof(WCHAR) )))
{
free_cookie( cookie );
return NULL;
@@ -207,9 +207,9 @@ struct attr
static void free_attr( struct attr *attr )
{
if (!attr) return;
- heap_free( attr->name );
- heap_free( attr->value );
- heap_free( attr );
+ free( attr->name );
+ free( attr->value );
+ free( attr );
}
static struct attr *parse_attr( const WCHAR *str, int *used )
@@ -224,10 +224,10 @@ static struct attr *parse_attr( const WCHAR *str, int *used )
len = q - p;
if (!len) return NULL;
- if (!(attr = heap_alloc( sizeof(struct attr) ))) return NULL;
- if (!(attr->name = heap_alloc( (len + 1) * sizeof(WCHAR) )))
+ if (!(attr = malloc( sizeof(*attr) ))) return NULL;
+ if (!(attr->name = malloc( (len + 1) * sizeof(WCHAR) )))
{
- heap_free( attr );
+ free( attr );
return NULL;
}
memcpy( attr->name, p, len * sizeof(WCHAR) );
@@ -244,7 +244,7 @@ static struct attr *parse_attr( const WCHAR *str, int *used )
len = q - p;
while (len && p[len - 1] == ' ') len--;
- if (!(attr->value = heap_alloc( (len + 1) * sizeof(WCHAR) )))
+ if (!(attr->value = malloc( (len + 1) * sizeof(WCHAR) )))
{
free_attr( attr );
return NULL;
@@ -271,7 +271,7 @@ BOOL set_cookies( struct request *request, const WCHAR *cookies )
int len, used;
len = lstrlenW( cookies );
- if (!(buffer = heap_alloc( (len + 1) * sizeof(WCHAR) ))) return FALSE;
+ if (!(buffer = malloc( (len + 1) * sizeof(WCHAR) ))) return FALSE;
lstrcpyW( buffer, cookies );
p = buffer;
@@ -279,7 +279,7 @@ BOOL set_cookies( struct request *request, const WCHAR *cookies )
if (*p == ';') *p++ = 0;
if (!(cookie = parse_cookie( buffer )))
{
- heap_free( buffer );
+ free( buffer );
return FALSE;
}
len = lstrlenW( p );
@@ -312,10 +312,10 @@ BOOL set_cookies( struct request *request, const WCHAR *cookies )
end:
if (!ret) free_cookie( cookie );
if (domain) free_attr( domain );
- else heap_free( cookie_domain );
+ else free( cookie_domain );
if (path) free_attr( path );
- else heap_free( cookie_path );
- heap_free( buffer );
+ else free( cookie_path );
+ free( buffer );
return ret;
}
@@ -349,7 +349,7 @@ DWORD add_cookie_headers( struct request *request )
len = len_cookie + len_name;
if (cookie->value) len += lstrlenW( cookie->value ) + 1;
- if (!(header = heap_alloc( (len + 1) * sizeof(WCHAR) )))
+ if (!(header = malloc( (len + 1) * sizeof(WCHAR) )))
{
LeaveCriticalSection( &session->cs );
return ERROR_OUTOFMEMORY;
@@ -366,7 +366,7 @@ DWORD add_cookie_headers( struct request *request )
TRACE("%s\n", debugstr_w(header));
ret = add_request_headers( request, header, len,
WINHTTP_ADDREQ_FLAG_ADD | WINHTTP_ADDREQ_FLAG_COALESCE_WITH_SEMICOLON );
- heap_free( header );
+ free( header );
}
}
}
diff --git a/dlls/winhttp/handle.c b/dlls/winhttp/handle.c
index 08052b91ee3..4fc94f10d01 100644
--- a/dlls/winhttp/handle.c
+++ b/dlls/winhttp/handle.c
@@ -94,14 +94,17 @@ HINTERNET alloc_handle( struct object_header *hdr )
if (!max_handles)
{
num = HANDLE_CHUNK_SIZE;
- if (!(p = heap_alloc_zero( sizeof(ULONG_PTR) * num ))) goto end;
+ if (!(p = calloc( 1, sizeof(ULONG_PTR) * num ))) goto end;
handles = p;
max_handles = num;
}
if (max_handles == next_handle)
{
+ size_t new_size, old_size = max_handles * sizeof(ULONG_PTR);
num = max_handles * 2;
- if (!(p = heap_realloc_zero( handles, sizeof(ULONG_PTR) * num ))) goto end;
+ new_size = num * sizeof(ULONG_PTR);
+ if (!(p = realloc( handles, new_size ))) goto end;
+ memset( (char *)p + old_size, 0, new_size - old_size );
handles = p;
max_handles = num;
}
diff --git a/dlls/winhttp/net.c b/dlls/winhttp/net.c
index 0cc2bb2bef7..8597179dc3e 100644
--- a/dlls/winhttp/net.c
+++ b/dlls/winhttp/net.c
@@ -187,14 +187,14 @@ DWORD netconn_create( struct hostdata *host, const struct sockaddr_storage *sock
winsock_init();
- if (!(conn = heap_alloc_zero( sizeof(*conn) ))) return ERROR_OUTOFMEMORY;
+ if (!(conn = calloc( 1, sizeof(*conn) ))) return ERROR_OUTOFMEMORY;
conn->host = host;
conn->sockaddr = *sockaddr;
if ((conn->socket = socket( sockaddr->ss_family, SOCK_STREAM, 0 )) == -1)
{
ret = WSAGetLastError();
WARN("unable to create socket (%u)\n", ret);
- heap_free( conn );
+ free( conn );
return ret;
}
@@ -208,7 +208,7 @@ DWORD netconn_create( struct hostdata *host, const struct sockaddr_storage *sock
break;
default:
ERR( "unhandled family %u\n", conn->sockaddr.ss_family );
- heap_free( conn );
+ free( conn );
return ERROR_INVALID_PARAMETER;
}
@@ -237,7 +237,7 @@ DWORD netconn_create( struct hostdata *host, const struct sockaddr_storage *sock
{
WARN("unable to connect to host (%u)\n", ret);
closesocket( conn->socket );
- heap_free( conn );
+ free( conn );
return ret;
}
@@ -249,14 +249,14 @@ void netconn_close( struct netconn *conn )
{
if (conn->secure)
{
- heap_free( conn->peek_msg_mem );
- heap_free(conn->ssl_buf);
- heap_free(conn->extra_buf);
+ free( conn->peek_msg_mem );
+ free(conn->ssl_buf);
+ free(conn->extra_buf);
DeleteSecurityContext(&conn->ssl_ctx);
}
closesocket( conn->socket );
release_host( conn->host );
- heap_free(conn);
+ free(conn);
}
DWORD netconn_secure_connect( struct netconn *conn, WCHAR *hostname, DWORD security_flags, CredHandle *cred_handle,
@@ -276,7 +276,7 @@ DWORD netconn_secure_connect( struct netconn *conn, WCHAR *hostname, DWORD secur
const DWORD isc_req_flags = ISC_REQ_ALLOCATE_MEMORY|ISC_REQ_USE_SESSION_KEY|ISC_REQ_CONFIDENTIALITY
|ISC_REQ_SEQUENCE_DETECT|ISC_REQ_REPLAY_DETECT|ISC_REQ_MANUAL_CRED_VALIDATION;
- if (!(read_buf = heap_alloc( read_buf_size ))) return ERROR_OUTOFMEMORY;
+ if (!(read_buf = malloc( read_buf_size ))) return ERROR_OUTOFMEMORY;
status = InitializeSecurityContextW(cred_handle, NULL, hostname, isc_req_flags, 0, 0, NULL, 0,
&ctx, &out_desc, &attrs, NULL);
@@ -318,7 +318,7 @@ DWORD netconn_secure_connect( struct netconn *conn, WCHAR *hostname, DWORD secur
if(in_bufs[0].cbBuffer + 1024 > read_buf_size) {
BYTE *new_read_buf;
- new_read_buf = heap_realloc(read_buf, read_buf_size + 1024);
+ new_read_buf = realloc(read_buf, read_buf_size + 1024);
if(!new_read_buf) {
status = E_OUTOFMEMORY;
break;
@@ -365,7 +365,7 @@ DWORD netconn_secure_connect( struct netconn *conn, WCHAR *hostname, DWORD secur
break;
}
- conn->ssl_buf = heap_alloc(conn->ssl_sizes.cbHeader + conn->ssl_sizes.cbMaximumMessage + conn->ssl_sizes.cbTrailer);
+ conn->ssl_buf = malloc(conn->ssl_sizes.cbHeader + conn->ssl_sizes.cbMaximumMessage + conn->ssl_sizes.cbTrailer);
if(!conn->ssl_buf) {
res = ERROR_OUTOFMEMORY;
break;
@@ -373,11 +373,11 @@ DWORD netconn_secure_connect( struct netconn *conn, WCHAR *hostname, DWORD secur
}
}
- heap_free(read_buf);
+ free(read_buf);
if(status != SEC_E_OK || res != ERROR_SUCCESS) {
WARN("Failed to initialize security context: %08x\n", status);
- heap_free(conn->ssl_buf);
+ free(conn->ssl_buf);
conn->ssl_buf = NULL;
DeleteSecurityContext(&ctx);
return ERROR_WINHTTP_SECURE_CHANNEL_ERROR;
@@ -459,7 +459,7 @@ static DWORD read_ssl_chunk( struct netconn *conn, void *buf, SIZE_T buf_size, S
memcpy(conn->ssl_buf, conn->extra_buf, conn->extra_len);
buf_len = conn->extra_len;
conn->extra_len = 0;
- heap_free(conn->extra_buf);
+ free(conn->extra_buf);
conn->extra_buf = NULL;
}else {
if ((buf_len = sock_recv( conn->socket, conn->ssl_buf + conn->extra_len, ssl_buf_size - conn->extra_len, 0)) < 0)
@@ -516,7 +516,7 @@ static DWORD read_ssl_chunk( struct netconn *conn, void *buf, SIZE_T buf_size, S
memcpy(buf, bufs[i].pvBuffer, size);
if(size < bufs[i].cbBuffer) {
assert(!conn->peek_len);
- conn->peek_msg_mem = conn->peek_msg = heap_alloc(bufs[i].cbBuffer - size);
+ conn->peek_msg_mem = conn->peek_msg = malloc(bufs[i].cbBuffer - size);
if(!conn->peek_msg)
return ERROR_OUTOFMEMORY;
conn->peek_len = bufs[i].cbBuffer-size;
@@ -529,7 +529,7 @@ static DWORD read_ssl_chunk( struct netconn *conn, void *buf, SIZE_T buf_size, S
for(i = 0; i < ARRAY_SIZE(bufs); i++) {
if(bufs[i].BufferType == SECBUFFER_EXTRA) {
- conn->extra_buf = heap_alloc(bufs[i].cbBuffer);
+ conn->extra_buf = malloc(bufs[i].cbBuffer);
if(!conn->extra_buf)
return ERROR_OUTOFMEMORY;
@@ -561,7 +561,7 @@ DWORD netconn_recv( struct netconn *conn, void *buf, size_t len, int flags, int
if (conn->peek_len == 0)
{
- heap_free( conn->peek_msg_mem );
+ free( conn->peek_msg_mem );
conn->peek_msg_mem = NULL;
conn->peek_msg = NULL;
}
diff --git a/dlls/winhttp/request.c b/dlls/winhttp/request.c
index 2ff211255ee..946168786ae 100644
--- a/dlls/winhttp/request.c
+++ b/dlls/winhttp/request.c
@@ -163,9 +163,9 @@ static DWORD queue_task( struct queue *queue, PTP_WORK_CALLBACK task, void *ctx
static void free_header( struct header *header )
{
- heap_free( header->field );
- heap_free( header->value );
- heap_free( header );
+ free( header->field );
+ free( header->value );
+ free( header );
}
static BOOL valid_token_char( WCHAR c )
@@ -216,10 +216,10 @@ static struct header *parse_header( const WCHAR *string )
p++;
}
len = q - string;
- if (!(header = heap_alloc_zero( sizeof(struct header) ))) return NULL;
- if (!(header->field = heap_alloc( (len + 1) * sizeof(WCHAR) )))
+ if (!(header = calloc( 1, sizeof(*header) ))) return NULL;
+ if (!(header->field = malloc( (len + 1) * sizeof(WCHAR) )))
{
- heap_free( header );
+ free( header );
return NULL;
}
memcpy( header->field, string, len * sizeof(WCHAR) );
@@ -229,7 +229,7 @@ static struct header *parse_header( const WCHAR *string )
while (*q == ' ') q++;
len = lstrlenW( q );
- if (!(header->value = heap_alloc( (len + 1) * sizeof(WCHAR) )))
+ if (!(header->value = malloc( (len + 1) * sizeof(WCHAR) )))
{
free_header( header );
return NULL;
@@ -266,9 +266,11 @@ static DWORD insert_header( struct request *request, struct header *header )
struct header *hdrs;
if (request->headers)
- hdrs = heap_realloc_zero( request->headers, sizeof(struct header) * count );
- else
- hdrs = heap_alloc_zero( sizeof(struct header) );
+ {
+ if ((hdrs = realloc( request->headers, sizeof(*header) * count )))
+ memset( &hdrs[count - 1], 0, sizeof(*header) );
+ }
+ else hdrs = calloc( 1, sizeof(*header) );
if (!hdrs) return ERROR_OUTOFMEMORY;
request->headers = hdrs;
@@ -284,8 +286,8 @@ static void delete_header( struct request *request, DWORD index )
if (!request->num_headers || index >= request->num_headers) return;
request->num_headers--;
- heap_free( request->headers[index].field );
- heap_free( request->headers[index].value );
+ free( request->headers[index].field );
+ free( request->headers[index].value );
memmove( &request->headers[index], &request->headers[index + 1],
(request->num_headers - index) * sizeof(struct header) );
@@ -332,7 +334,7 @@ DWORD process_header( struct request *request, const WCHAR *field, const WCHAR *
len_value = lstrlenW( value );
len = len_orig + len_value + 2;
- if (!(tmp = heap_realloc( header->value, (len + 1) * sizeof(WCHAR) ))) return ERROR_OUTOFMEMORY;
+ if (!(tmp = realloc( header->value, (len + 1) * sizeof(WCHAR) ))) return ERROR_OUTOFMEMORY;
header->value = tmp;
header->value[len_orig++] = (flags & WINHTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA) ? ',' : ';';
header->value[len_orig++] = ' ';
@@ -361,7 +363,7 @@ DWORD add_request_headers( struct request *request, const WCHAR *headers, DWORD
if (len == ~0u) len = lstrlenW( headers );
if (!len) return ERROR_SUCCESS;
- if (!(buffer = heap_alloc( (len + 1) * sizeof(WCHAR) ))) return ERROR_OUTOFMEMORY;
+ if (!(buffer = malloc( (len + 1) * sizeof(WCHAR) ))) return ERROR_OUTOFMEMORY;
memcpy( buffer, headers, len * sizeof(WCHAR) );
buffer[len] = 0;
@@ -393,7 +395,7 @@ DWORD add_request_headers( struct request *request, const WCHAR *headers, DWORD
p = q;
} while (!ret);
- heap_free( buffer );
+ free( buffer );
return ret;
}
@@ -443,7 +445,7 @@ static WCHAR *build_absolute_request_path( struct request *request, const WCHAR
if (request->connect->hostport) len += 6; /* ':' between host and port, up to 5 for port */
len += lstrlenW( request->path );
- if ((ret = heap_alloc( len * sizeof(WCHAR) )))
+ if ((ret = malloc( len * sizeof(WCHAR) )))
{
offset = swprintf( ret, len, L"%s://%s", scheme, request->connect->hostname );
if (request->connect->hostport)
@@ -476,7 +478,7 @@ static WCHAR *build_request_string( struct request *request )
}
len += 4; /* '\r\n\r\n' */
- if ((ret = heap_alloc( (len + 1) * sizeof(WCHAR) )))
+ if ((ret = malloc( (len + 1) * sizeof(WCHAR) )))
{
lstrcpyW( ret, request->verb );
lstrcatW( ret, L" " );
@@ -497,7 +499,7 @@ static WCHAR *build_request_string( struct request *request )
lstrcatW( ret, L"\r\n\r\n" );
}
- if (path != request->path) heap_free( path );
+ if (path != request->path) free( path );
return ret;
}
@@ -551,7 +553,7 @@ static DWORD query_headers( struct request *request, DWORD level, const WCHAR *n
ret = ERROR_SUCCESS;
}
*buflen = len * sizeof(WCHAR);
- if (request_only) heap_free( headers );
+ if (request_only) free( headers );
return ret;
}
case WINHTTP_QUERY_RAW_HEADERS_CRLF:
@@ -577,7 +579,7 @@ static DWORD query_headers( struct request *request, DWORD level, const WCHAR *n
ret = ERROR_SUCCESS;
}
*buflen = len;
- if (request_only) heap_free( headers );
+ if (request_only) free( headers );
return ret;
}
case WINHTTP_QUERY_VERSION:
@@ -771,14 +773,14 @@ static DWORD query_auth_schemes( struct request *request, DWORD level, DWORD *su
break;
}
- if (!(buffer = heap_alloc( size ))) return ERROR_OUTOFMEMORY;
+ if (!(buffer = malloc( size ))) return ERROR_OUTOFMEMORY;
if ((ret = query_headers( request, level, NULL, buffer, &size, &index )))
{
- heap_free( buffer );
+ free( buffer );
return ret;
}
scheme = auth_scheme_from_header( buffer );
- heap_free( buffer );
+ free( buffer );
if (!scheme) continue;
if (!first_scheme) first_scheme = scheme;
@@ -954,7 +956,7 @@ static struct authinfo *alloc_authinfo(void)
{
struct authinfo *ret;
- if (!(ret = heap_alloc( sizeof(*ret) ))) return NULL;
+ if (!(ret = malloc( sizeof(*ret) ))) return NULL;
SecInvalidateHandle( &ret->cred );
SecInvalidateHandle( &ret->ctx );
@@ -977,8 +979,8 @@ void destroy_authinfo( struct authinfo *authinfo )
if (SecIsValidHandle( &authinfo->cred ))
FreeCredentialsHandle( &authinfo->cred );
- heap_free( authinfo->data );
- heap_free( authinfo );
+ free( authinfo->data );
+ free( authinfo );
}
static BOOL get_authvalue( struct request *request, DWORD level, DWORD scheme, WCHAR *buffer, DWORD len )
@@ -1060,7 +1062,7 @@ static BOOL do_authorization( struct request *request, DWORD target, DWORD schem
passlen = WideCharToMultiByte( CP_UTF8, 0, password, lstrlenW( password ), NULL, 0, NULL, NULL );
authinfo->data_len = userlen + 1 + passlen;
- if (!(authinfo->data = heap_alloc( authinfo->data_len ))) return FALSE;
+ if (!(authinfo->data = malloc( authinfo->data_len ))) return FALSE;
WideCharToMultiByte( CP_UTF8, 0, username, -1, authinfo->data, userlen, NULL, NULL );
authinfo->data[userlen] = ':';
@@ -1123,7 +1125,7 @@ static BOOL do_authorization( struct request *request, DWORD target, DWORD schem
{
WARN("AcquireCredentialsHandleW for scheme %s failed with error 0x%08x\n",
debugstr_w(auth_schemes[scheme].str), status);
- heap_free( authinfo );
+ free( authinfo );
return FALSE;
}
authinfo->scheme = scheme;
@@ -1152,7 +1154,7 @@ static BOOL do_authorization( struct request *request, DWORD target, DWORD schem
{
int len = lstrlenW( ++p );
in.cbBuffer = decode_base64( p, len, NULL );
- if (!(in.pvBuffer = heap_alloc( in.cbBuffer ))) {
+ if (!(in.pvBuffer = malloc( in.cbBuffer ))) {
destroy_authinfo( authinfo );
*auth_ptr = NULL;
return FALSE;
@@ -1161,9 +1163,9 @@ static BOOL do_authorization( struct request *request, DWORD target, DWORD schem
}
out.BufferType = SECBUFFER_TOKEN;
out.cbBuffer = authinfo->max_token;
- if (!(out.pvBuffer = heap_alloc( authinfo->max_token )))
+ if (!(out.pvBuffer = malloc( authinfo->max_token )))
{
- heap_free( in.pvBuffer );
+ free( in.pvBuffer );
destroy_authinfo( authinfo );
*auth_ptr = NULL;
return FALSE;
@@ -1176,10 +1178,10 @@ static BOOL do_authorization( struct request *request, DWORD target, DWORD schem
first ? request->connect->servername : NULL, flags, 0,
SECURITY_NETWORK_DREP, in.pvBuffer ? &in_desc : NULL, 0,
&authinfo->ctx, &out_desc, &authinfo->attr, &authinfo->exp );
- heap_free( in.pvBuffer );
+ free( in.pvBuffer );
if (status == SEC_E_OK)
{
- heap_free( authinfo->data );
+ free( authinfo->data );
authinfo->data = out.pvBuffer;
authinfo->data_len = out.cbBuffer;
authinfo->finished = TRUE;
@@ -1187,7 +1189,7 @@ static BOOL do_authorization( struct request *request, DWORD target, DWORD schem
}
else if (status == SEC_I_CONTINUE_NEEDED)
{
- heap_free( authinfo->data );
+ free( authinfo->data );
authinfo->data = out.pvBuffer;
authinfo->data_len = out.cbBuffer;
TRACE("sending next auth packet\n");
@@ -1195,7 +1197,7 @@ static BOOL do_authorization( struct request *request, DWORD target, DWORD schem
else
{
ERR("InitializeSecurityContextW failed with error 0x%08x\n", status);
- heap_free( out.pvBuffer );
+ free( out.pvBuffer );
destroy_authinfo( authinfo );
*auth_ptr = NULL;
return FALSE;
@@ -1210,7 +1212,7 @@ static BOOL do_authorization( struct request *request, DWORD target, DWORD schem
len_scheme = auth_schemes[authinfo->scheme].len;
len = len_scheme + 1 + ((authinfo->data_len + 2) * 4) / 3;
- if (!(auth_reply = heap_alloc( (len + 1) * sizeof(WCHAR) ))) return FALSE;
+ if (!(auth_reply = malloc( (len + 1) * sizeof(WCHAR) ))) return FALSE;
memcpy( auth_reply, auth_schemes[authinfo->scheme].str, len_scheme * sizeof(WCHAR) );
auth_reply[len_scheme] = ' ';
@@ -1218,7 +1220,7 @@ static BOOL do_authorization( struct request *request, DWORD target, DWORD schem
flags = WINHTTP_ADDREQ_FLAG_ADD | WINHTTP_ADDREQ_FLAG_REPLACE;
ret = !process_header( request, auth_target, auth_reply, flags, TRUE );
- heap_free( auth_reply );
+ free( auth_reply );
return ret;
}
@@ -1228,7 +1230,7 @@ static WCHAR *build_proxy_connect_string( struct request *request )
unsigned int i;
int len = lstrlenW( request->connect->hostname ) + 7;
- if (!(host = heap_alloc( len * sizeof(WCHAR) ))) return NULL;
+ if (!(host = malloc( len * sizeof(WCHAR) ))) return NULL;
len = swprintf( host, len, L"%s:%u", request->connect->hostname, request->connect->hostport );
len += ARRAY_SIZE(L"CONNECT");
@@ -1241,7 +1243,7 @@ static WCHAR *build_proxy_connect_string( struct request *request )
}
len += 4; /* '\r\n\r\n' */
- if ((ret = heap_alloc( (len + 1) * sizeof(WCHAR) )))
+ if ((ret = malloc( (len + 1) * sizeof(WCHAR) )))
{
lstrcpyW( ret, L"CONNECT" );
lstrcatW( ret, L" " );
@@ -1262,7 +1264,7 @@ static WCHAR *build_proxy_connect_string( struct request *request )
lstrcatW( ret, L"\r\n\r\n" );
}
- heap_free( host );
+ free( host );
return ret;
}
@@ -1277,12 +1279,12 @@ static DWORD secure_proxy_connect( struct request *request )
if (!(str = build_proxy_connect_string( request ))) return ERROR_OUTOFMEMORY;
strA = strdupWA( str );
- heap_free( str );
+ free( str );
if (!strA) return ERROR_OUTOFMEMORY;
len = strlen( strA );
ret = netconn_send( request->netconn, strA, len, &bytes_sent );
- heap_free( strA );
+ free( strA );
if (!ret) ret = read_reply( request );
return ret;
@@ -1330,8 +1332,8 @@ void release_host( struct hostdata *host )
if (ref) return;
assert( list_empty( &host->connections ) );
- heap_free( host->hostname );
- heap_free( host );
+ free( host->hostname );
+ free( host );
}
static BOOL connection_collector_running;
@@ -1467,7 +1469,7 @@ static DWORD open_connection( struct request *request )
if (!host)
{
- if ((host = heap_alloc( sizeof(*host) )))
+ if ((host = malloc( sizeof(*host) )))
{
host->ref = 1;
host->secure = is_secure;
@@ -1479,7 +1481,7 @@ static DWORD open_connection( struct request *request )
}
else
{
- heap_free( host );
+ free( host );
host = NULL;
}
}
@@ -1548,7 +1550,7 @@ static DWORD open_connection( struct request *request )
if ((ret = netconn_create( host, &connect->sockaddr, request->connect_timeout, &netconn )))
{
- heap_free( addressW );
+ free( addressW );
release_host( host );
return ret;
}
@@ -1564,7 +1566,7 @@ static DWORD open_connection( struct request *request )
if ((ret = secure_proxy_connect( request )))
{
request->netconn = NULL;
- heap_free( addressW );
+ free( addressW );
netconn_close( netconn );
return ret;
}
@@ -1578,7 +1580,7 @@ static DWORD open_connection( struct request *request )
&request->cred_handle, request->check_revocation )))
{
request->netconn = NULL;
- heap_free( addressW );
+ free( addressW );
netconn_close( netconn );
return ret;
}
@@ -1597,7 +1599,7 @@ static DWORD open_connection( struct request *request )
if (netconn->secure && !(request->server_cert = netconn_get_certificate( netconn )))
{
- heap_free( addressW );
+ free( addressW );
netconn_close( netconn );
return ERROR_WINHTTP_SECURE_FAILURE;
}
@@ -1607,7 +1609,7 @@ done:
request->read_chunked = FALSE;
request->read_chunked_size = ~0u;
request->read_chunked_eof = FALSE;
- heap_free( addressW );
+ free( addressW );
return ERROR_SUCCESS;
}
@@ -1635,10 +1637,10 @@ static DWORD add_host_header( struct request *request, DWORD modifier )
return process_header( request, L"Host", connect->hostname, modifier, TRUE );
}
len = lstrlenW( connect->hostname ) + 7; /* sizeof(":65335") */
- if (!(host = heap_alloc( len * sizeof(WCHAR) ))) return ERROR_OUTOFMEMORY;
+ if (!(host = malloc( len * sizeof(WCHAR) ))) return ERROR_OUTOFMEMORY;
swprintf( host, len, L"%s:%u", connect->hostname, port );
ret = process_header( request, L"Host", host, modifier, TRUE );
- heap_free( host );
+ free( host );
return ret;
}
@@ -1950,11 +1952,11 @@ static DWORD str_to_wire( const WCHAR *src, int src_len, char *dst, enum escape_
if (src_len < 0) src_len = lstrlenW( src );
len = WideCharToMultiByte( CP_UTF8, 0, src, src_len, NULL, 0, NULL, NULL );
- if (!(utf8 = heap_alloc( len ))) return 0;
+ if (!(utf8 = malloc( len ))) return 0;
WideCharToMultiByte( CP_UTF8, 0, src, -1, utf8, len, NULL, NULL );
len = escape_string( utf8, len, dst, flags );
- heap_free( utf8 );
+ free( utf8 );
return len;
}
@@ -1992,14 +1994,14 @@ static char *build_wire_path( struct request *request, DWORD *ret_len )
if (path) *ret_len += str_to_wire( path, len_path, NULL, path_flags );
if (query) *ret_len += str_to_wire( query, len_query, NULL, query_flags );
- if ((ret = heap_alloc( *ret_len + 1 )))
+ if ((ret = malloc( *ret_len + 1 )))
{
len = str_to_wire( full_path, len - len_path - len_query, ret, 0 );
if (path) len += str_to_wire( path, len_path, ret + len, path_flags );
if (query) str_to_wire( query, len_query, ret + len, query_flags );
}
- if (full_path != request->path) heap_free( full_path );
+ if (full_path != request->path) free( full_path );
return ret;
}
@@ -2024,7 +2026,7 @@ static char *build_wire_request( struct request *request, DWORD *len )
}
*len += 4; /* '\r\n\r\n' */
- if ((ret = ptr = heap_alloc( *len + 1 )))
+ if ((ret = ptr = malloc( *len + 1 )))
{
ptr += str_to_wire( request->verb, -1, ptr, 0 );
*ptr++ = ' ';
@@ -2048,7 +2050,7 @@ static char *build_wire_request( struct request *request, DWORD *len )
memcpy( ptr, "\r\n\r\n", sizeof("\r\n\r\n") );
}
- heap_free( path );
+ free( path );
return ret;
}
@@ -2058,7 +2060,7 @@ static WCHAR *create_websocket_key(void)
char buf[16];
DWORD base64_len = ((sizeof(buf) + 2) * 4) / 3;
if (!RtlGenRandom( buf, sizeof(buf) )) return NULL;
- if ((ret = heap_alloc( (base64_len + 1) * sizeof(WCHAR) ))) encode_base64( buf, sizeof(buf), ret );
+ if ((ret = malloc( (base64_len + 1) * sizeof(WCHAR) ))) encode_base64( buf, sizeof(buf), ret );
return ret;
}
@@ -2067,7 +2069,7 @@ static DWORD add_websocket_key_header( struct request *request )
WCHAR *key = create_websocket_key();
if (!key) return ERROR_OUTOFMEMORY;
process_header( request, L"Sec-WebSocket-Key", key, WINHTTP_ADDREQ_FLAG_ADD | WINHTTP_ADDREQ_FLAG_REPLACE, TRUE );
- heap_free( key );
+ free( key );
return ERROR_SUCCESS;
}
@@ -2139,7 +2141,7 @@ static DWORD send_request( struct request *request, const WCHAR *headers, DWORD
send_callback( &request->hdr, WINHTTP_CALLBACK_STATUS_SENDING_REQUEST, NULL, 0 );
ret = netconn_send( request->netconn, wire_req, len, &bytes_sent );
- heap_free( wire_req );
+ free( wire_req );
if (ret) goto end;
if (optional_len)
@@ -2174,8 +2176,8 @@ static void CALLBACK task_send_request( TP_CALLBACK_INSTANCE *instance, void *ct
send_request( s->request, s->headers, s->headers_len, s->optional, s->optional_len, s->total_len, s->context, TRUE );
release_object( &s->request->hdr );
- heap_free( s->headers );
- heap_free( s );
+ free( s->headers );
+ free( s );
}
/***********************************************************************
@@ -2208,7 +2210,7 @@ BOOL WINAPI WinHttpSendRequest( HINTERNET hrequest, LPCWSTR headers, DWORD heade
{
struct send_request *s;
- if (!(s = heap_alloc( sizeof(*s) ))) return FALSE;
+ if (!(s = malloc( sizeof(*s) ))) return FALSE;
s->request = request;
s->headers = strdupW( headers );
s->headers_len = headers_len;
@@ -2221,8 +2223,8 @@ BOOL WINAPI WinHttpSendRequest( HINTERNET hrequest, LPCWSTR headers, DWORD heade
if ((ret = queue_task( &request->queue, task_send_request, s )))
{
release_object( &request->hdr );
- heap_free( s->headers );
- heap_free( s );
+ free( s->headers );
+ free( s );
}
}
else ret = send_request( request, headers, headers_len, optional, optional_len, total_len, context, FALSE );
@@ -2245,22 +2247,22 @@ static DWORD set_credentials( struct request *request, DWORD target, DWORD schem
{
case WINHTTP_AUTH_TARGET_SERVER:
{
- heap_free( request->creds[TARGET_SERVER][scheme].username );
+ free( request->creds[TARGET_SERVER][scheme].username );
if (!username) request->creds[TARGET_SERVER][scheme].username = NULL;
else if (!(request->creds[TARGET_SERVER][scheme].username = strdupW( username ))) return ERROR_OUTOFMEMORY;
- heap_free( request->creds[TARGET_SERVER][scheme].password );
+ free( request->creds[TARGET_SERVER][scheme].password );
if (!password) request->creds[TARGET_SERVER][scheme].password = NULL;
else if (!(request->creds[TARGET_SERVER][scheme].password = strdupW( password ))) return ERROR_OUTOFMEMORY;
break;
}
case WINHTTP_AUTH_TARGET_PROXY:
{
- heap_free( request->creds[TARGET_PROXY][scheme].username );
+ free( request->creds[TARGET_PROXY][scheme].username );
if (!username) request->creds[TARGET_PROXY][scheme].username = NULL;
else if (!(request->creds[TARGET_PROXY][scheme].username = strdupW( username ))) return ERROR_OUTOFMEMORY;
- heap_free( request->creds[TARGET_PROXY][scheme].password );
+ free( request->creds[TARGET_PROXY][scheme].password );
if (!password) request->creds[TARGET_PROXY][scheme].password = NULL;
else if (!(request->creds[TARGET_PROXY][scheme].password = strdupW( password ))) return ERROR_OUTOFMEMORY;
break;
@@ -2443,26 +2445,26 @@ static DWORD read_reply( struct request *request )
WINHTTP_ADDREQ_FLAG_ADD | WINHTTP_ADDREQ_FLAG_REPLACE, FALSE ))) return ret;
len = status_code - buffer;
- if (!(versionW = heap_alloc( len * sizeof(WCHAR) ))) return ERROR_OUTOFMEMORY;
+ if (!(versionW = malloc( len * sizeof(WCHAR) ))) return ERROR_OUTOFMEMORY;
MultiByteToWideChar( CP_ACP, 0, buffer, len - 1, versionW, len -1 );
versionW[len - 1] = 0;
- heap_free( request->version );
+ free( request->version );
request->version = versionW;
len = buflen - (status_text - buffer);
- if (!(status_textW = heap_alloc( len * sizeof(WCHAR) ))) return ERROR_OUTOFMEMORY;
+ if (!(status_textW = malloc( len * sizeof(WCHAR) ))) return ERROR_OUTOFMEMORY;
MultiByteToWideChar( CP_ACP, 0, status_text, len, status_textW, len );
- heap_free( request->status_text );
+ free( request->status_text );
request->status_text = status_textW;
len = max( buflen + crlf_len, INITIAL_HEADER_BUFFER_LEN );
- if (!(raw_headers = heap_alloc( len * sizeof(WCHAR) ))) return ERROR_OUTOFMEMORY;
+ if (!(raw_headers = malloc( len * sizeof(WCHAR) ))) return ERROR_OUTOFMEMORY;
MultiByteToWideChar( CP_ACP, 0, buffer, buflen, raw_headers, buflen );
memcpy( raw_headers + buflen - 1, L"\r\n", sizeof(L"\r\n") );
- heap_free( request->raw_headers );
+ free( request->raw_headers );
request->raw_headers = raw_headers;
offset = buflen + crlf_len - 1;
@@ -2478,7 +2480,7 @@ static DWORD read_reply( struct request *request )
{
WCHAR *tmp;
len *= 2;
- if (!(tmp = heap_realloc( raw_headers, len * sizeof(WCHAR) ))) return ERROR_OUTOFMEMORY;
+ if (!(tmp = realloc( raw_headers, len * sizeof(WCHAR) ))) return ERROR_OUTOFMEMORY;
request->raw_headers = raw_headers = tmp;
}
if (!*buffer)
@@ -2524,10 +2526,10 @@ static DWORD get_redirect_url( struct request *request, WCHAR **ret_url, DWORD *
ret = query_headers( request, WINHTTP_QUERY_LOCATION, NULL, NULL, &size, NULL );
if (ret != ERROR_INSUFFICIENT_BUFFER) return ret;
- if (!(url = heap_alloc( size ))) return ERROR_OUTOFMEMORY;
+ if (!(url = malloc( size ))) return ERROR_OUTOFMEMORY;
if ((ret = query_headers( request, WINHTTP_QUERY_LOCATION, NULL, url, &size, NULL )))
{
- heap_free( url );
+ free( url );
return ret;
}
*ret_url = url;
@@ -2557,7 +2559,7 @@ static DWORD handle_redirect( struct request *request, DWORD status )
ret = ERROR_OUTOFMEMORY;
if (location[0] == '/')
{
- if (!(path = heap_alloc( (len_loc + 1) * sizeof(WCHAR) ))) goto end;
+ if (!(path = malloc( (len_loc + 1) * sizeof(WCHAR) ))) goto end;
memcpy( path, location, len_loc * sizeof(WCHAR) );
path[len_loc] = 0;
}
@@ -2565,13 +2567,13 @@ static DWORD handle_redirect( struct request *request, DWORD status )
{
if ((p = wcsrchr( request->path, '/' ))) *p = 0;
len = lstrlenW( request->path ) + 1 + len_loc;
- if (!(path = heap_alloc( (len + 1) * sizeof(WCHAR) ))) goto end;
+ if (!(path = malloc( (len + 1) * sizeof(WCHAR) ))) goto end;
lstrcpyW( path, request->path );
lstrcatW( path, L"/" );
memcpy( path + lstrlenW(path), location, len_loc * sizeof(WCHAR) );
path[len_loc] = 0;
}
- heap_free( request->path );
+ free( request->path );
request->path = path;
send_callback( &request->hdr, WINHTTP_CALLBACK_STATUS_REDIRECT, location, len_loc + 1 );
@@ -2597,7 +2599,7 @@ static DWORD handle_redirect( struct request *request, DWORD status )
send_callback( &request->hdr, WINHTTP_CALLBACK_STATUS_REDIRECT, location, len_loc + 1 );
len = uc.dwHostNameLength;
- if (!(hostname = heap_alloc( (len + 1) * sizeof(WCHAR) )))
+ if (!(hostname = malloc( (len + 1) * sizeof(WCHAR) )))
{
ret = ERROR_OUTOFMEMORY;
goto end;
@@ -2608,7 +2610,7 @@ static DWORD handle_redirect( struct request *request, DWORD status )
port = uc.nPort ? uc.nPort : (uc.nScheme == INTERNET_SCHEME_HTTPS ? 443 : 80);
if (wcsicmp( connect->hostname, hostname ) || connect->serverport != port)
{
- heap_free( connect->hostname );
+ free( connect->hostname );
connect->hostname = hostname;
connect->hostport = port;
if (!set_server_for_hostname( connect, hostname, port ))
@@ -2623,17 +2625,17 @@ static DWORD handle_redirect( struct request *request, DWORD status )
request->read_pos = request->read_size = 0;
request->read_chunked = request->read_chunked_eof = FALSE;
}
- else heap_free( hostname );
+ else free( hostname );
if ((ret = add_host_header( request, WINHTTP_ADDREQ_FLAG_ADD | WINHTTP_ADDREQ_FLAG_REPLACE ))) goto end;
if ((ret = open_connection( request ))) goto end;
- heap_free( request->path );
+ free( request->path );
request->path = NULL;
if (uc.dwUrlPathLength)
{
len = uc.dwUrlPathLength + uc.dwExtraInfoLength;
- if (!(request->path = heap_alloc( (len + 1) * sizeof(WCHAR) ))) goto end;
+ if (!(request->path = malloc( (len + 1) * sizeof(WCHAR) ))) goto end;
memcpy( request->path, uc.lpszUrlPath, (len + 1) * sizeof(WCHAR) );
request->path[len] = 0;
}
@@ -2646,14 +2648,14 @@ static DWORD handle_redirect( struct request *request, DWORD status )
if (status != HTTP_STATUS_REDIRECT_KEEP_VERB && !wcscmp( request->verb, L"POST" ))
{
- heap_free( request->verb );
+ free( request->verb );
request->verb = strdupW( L"GET" );
request->optional = NULL;
request->optional_len = 0;
}
end:
- heap_free( location );
+ free( location );
return ret;
}
@@ -2764,7 +2766,7 @@ static void CALLBACK task_receive_response( TP_CALLBACK_INSTANCE *instance, void
receive_response( r->request, TRUE );
release_object( &r->request->hdr );
- heap_free( r );
+ free( r );
}
/***********************************************************************
@@ -2793,14 +2795,14 @@ BOOL WINAPI WinHttpReceiveResponse( HINTERNET hrequest, LPVOID reserved )
{
struct receive_response *r;
- if (!(r = heap_alloc( sizeof(*r) ))) return FALSE;
+ if (!(r = malloc( sizeof(*r) ))) return FALSE;
r->request = request;
addref_object( &request->hdr );
if ((ret = queue_task( &request->queue, task_receive_response, r )))
{
release_object( &request->hdr );
- heap_free( r );
+ free( r );
}
}
else ret = receive_response( request, FALSE );
@@ -2851,7 +2853,7 @@ static void CALLBACK task_query_data_available( TP_CALLBACK_INSTANCE *instance,
query_data_available( q->request, q->available, TRUE );
release_object( &q->request->hdr );
- heap_free( q );
+ free( q );
}
/***********************************************************************
@@ -2880,7 +2882,7 @@ BOOL WINAPI WinHttpQueryDataAvailable( HINTERNET hrequest, LPDWORD available )
{
struct query_data *q;
- if (!(q = heap_alloc( sizeof(*q) ))) return FALSE;
+ if (!(q = malloc( sizeof(*q) ))) return FALSE;
q->request = request;
q->available = available;
@@ -2888,7 +2890,7 @@ BOOL WINAPI WinHttpQueryDataAvailable( HINTERNET hrequest, LPDWORD available )
if ((ret = queue_task( &request->queue, task_query_data_available, q )))
{
release_object( &request->hdr );
- heap_free( q );
+ free( q );
}
}
else ret = query_data_available( request, available, FALSE );
@@ -2906,7 +2908,7 @@ static void CALLBACK task_read_data( TP_CALLBACK_INSTANCE *instance, void *ctx,
read_data( r->request, r->buffer, r->to_read, r->read, TRUE );
release_object( &r->request->hdr );
- heap_free( r );
+ free( r );
}
/***********************************************************************
@@ -2935,7 +2937,7 @@ BOOL WINAPI WinHttpReadData( HINTERNET hrequest, LPVOID buffer, DWORD to_read, L
{
struct read_data *r;
- if (!(r = heap_alloc( sizeof(*r) ))) return FALSE;
+ if (!(r = malloc( sizeof(*r) ))) return FALSE;
r->request = request;
r->buffer = buffer;
r->to_read = to_read;
@@ -2945,7 +2947,7 @@ BOOL WINAPI WinHttpReadData( HINTERNET hrequest, LPVOID buffer, DWORD to_read, L
if ((ret = queue_task( &request->queue, task_read_data, r )))
{
release_object( &request->hdr );
- heap_free( r );
+ free( r );
}
}
else ret = read_data( request, buffer, to_read, read, FALSE );
@@ -2985,7 +2987,7 @@ static void CALLBACK task_write_data( TP_CALLBACK_INSTANCE *instance, void *ctx,
write_data( w->request, w->buffer, w->to_write, w->written, TRUE );
release_object( &w->request->hdr );
- heap_free( w );
+ free( w );
}
/***********************************************************************
@@ -3014,7 +3016,7 @@ BOOL WINAPI WinHttpWriteData( HINTERNET hrequest, LPCVOID buffer, DWORD to_write
{
struct write_data *w;
- if (!(w = heap_alloc( sizeof(*w) ))) return FALSE;
+ if (!(w = malloc( sizeof(*w) ))) return FALSE;
w->request = request;
w->buffer = buffer;
w->to_write = to_write;
@@ -3024,7 +3026,7 @@ BOOL WINAPI WinHttpWriteData( HINTERNET hrequest, LPCVOID buffer, DWORD to_write
if ((ret = queue_task( &request->queue, task_write_data, w )))
{
release_object( &request->hdr );
- heap_free( w );
+ free( w );
}
}
else ret = write_data( request, buffer, to_write, written, FALSE );
@@ -3051,7 +3053,7 @@ static void socket_destroy( struct object_header *hdr )
stop_queue( &socket->recv_q );
release_object( &socket->request->hdr );
- heap_free( socket );
+ free( socket );
}
static BOOL socket_set_option( struct object_header *hdr, DWORD option, void *buffer, DWORD buflen )
@@ -3087,7 +3089,7 @@ HINTERNET WINAPI WinHttpWebSocketCompleteUpgrade( HINTERNET hrequest, DWORD_PTR
SetLastError( ERROR_WINHTTP_INCORRECT_HANDLE_TYPE );
return NULL;
}
- if (!(socket = heap_alloc_zero( sizeof(struct socket) )))
+ if (!(socket = calloc( 1, sizeof(*socket) )))
{
release_object( &request->hdr );
return NULL;
@@ -3234,7 +3236,7 @@ static void CALLBACK task_socket_send( TP_CALLBACK_INSTANCE *instance, void *ctx
socket_send( s->socket, s->type, s->buf, s->len, TRUE );
release_object( &s->socket->hdr );
- heap_free( s );
+ free( s );
}
DWORD WINAPI WinHttpWebSocketSend( HINTERNET hsocket, WINHTTP_WEB_SOCKET_BUFFER_TYPE type, void *buf, DWORD len )
@@ -3267,7 +3269,7 @@ DWORD WINAPI WinHttpWebSocketSend( HINTERNET hsocket, WINHTTP_WEB_SOCKET_BUFFER_
{
struct socket_send *s;
- if (!(s = heap_alloc( sizeof(*s) ))) return FALSE;
+ if (!(s = malloc( sizeof(*s) ))) return FALSE;
s->socket = socket;
s->type = type;
s->buf = buf;
@@ -3277,7 +3279,7 @@ DWORD WINAPI WinHttpWebSocketSend( HINTERNET hsocket, WINHTTP_WEB_SOCKET_BUFFER_
if ((ret = queue_task( &socket->send_q, task_socket_send, s )))
{
release_object( &socket->hdr );
- heap_free( s );
+ free( s );
}
}
else ret = socket_send( socket, type, buf, len, FALSE );
@@ -3350,7 +3352,7 @@ static void CALLBACK task_socket_send_pong( TP_CALLBACK_INSTANCE *instance, void
send_frame( s->socket->request->netconn, SOCKET_OPCODE_PONG, 0, NULL, 0, TRUE );
release_object( &s->socket->hdr );
- heap_free( s );
+ free( s );
}
static DWORD socket_send_pong( struct socket *socket )
@@ -3360,14 +3362,14 @@ static DWORD socket_send_pong( struct socket *socket )
struct socket_send *s;
DWORD ret;
- if (!(s = heap_alloc( sizeof(*s) ))) return ERROR_OUTOFMEMORY;
+ if (!(s = malloc( sizeof(*s) ))) return ERROR_OUTOFMEMORY;
s->socket = socket;
addref_object( &socket->hdr );
if ((ret = queue_task( &socket->send_q, task_socket_send_pong, s )))
{
release_object( &socket->hdr );
- heap_free( s );
+ free( s );
}
return ret;
}
@@ -3484,7 +3486,7 @@ static void CALLBACK task_socket_receive( TP_CALLBACK_INSTANCE *instance, void *
socket_receive( r->socket, r->buf, r->len, NULL, NULL, TRUE );
release_object( &r->socket->hdr );
- heap_free( r );
+ free( r );
}
DWORD WINAPI WinHttpWebSocketReceive( HINTERNET hsocket, void *buf, DWORD len, DWORD *ret_len,
@@ -3513,7 +3515,7 @@ DWORD WINAPI WinHttpWebSocketReceive( HINTERNET hsocket, void *buf, DWORD len, D
{
struct socket_receive *r;
- if (!(r = heap_alloc( sizeof(*r) ))) return FALSE;
+ if (!(r = malloc( sizeof(*r) ))) return FALSE;
r->socket = socket;
r->buf = buf;
r->len = len;
@@ -3522,7 +3524,7 @@ DWORD WINAPI WinHttpWebSocketReceive( HINTERNET hsocket, void *buf, DWORD len, D
if ((ret = queue_task( &socket->recv_q, task_socket_receive, r )))
{
release_object( &socket->hdr );
- heap_free( r );
+ free( r );
}
}
else ret = socket_receive( socket, buf, len, ret_len, ret_type, FALSE );
@@ -3564,7 +3566,7 @@ static void CALLBACK task_socket_shutdown( TP_CALLBACK_INSTANCE *instance, void
TRACE("running %p\n", work);
release_object( &s->socket->hdr );
- heap_free( s );
+ free( s );
}
DWORD WINAPI WinHttpWebSocketShutdown( HINTERNET hsocket, USHORT status, void *reason, DWORD len )
@@ -3592,7 +3594,7 @@ DWORD WINAPI WinHttpWebSocketShutdown( HINTERNET hsocket, USHORT status, void *r
{
struct socket_shutdown *s;
- if (!(s = heap_alloc( sizeof(*s) ))) return FALSE;
+ if (!(s = malloc( sizeof(*s) ))) return FALSE;
s->socket = socket;
s->status = status;
memcpy( s->reason, reason, len );
@@ -3602,7 +3604,7 @@ DWORD WINAPI WinHttpWebSocketShutdown( HINTERNET hsocket, USHORT status, void *r
if ((ret = queue_task( &socket->send_q, task_socket_shutdown, s )))
{
release_object( &socket->hdr );
- heap_free( s );
+ free( s );
}
}
else ret = socket_shutdown( socket, status, reason, len, FALSE );
@@ -3666,7 +3668,7 @@ static void CALLBACK task_socket_close( TP_CALLBACK_INSTANCE *instance, void *ct
TRACE("running %p\n", work);
release_object( &s->socket->hdr );
- heap_free( s );
+ free( s );
}
DWORD WINAPI WinHttpWebSocketClose( HINTERNET hsocket, USHORT status, void *reason, DWORD len )
@@ -3694,7 +3696,7 @@ DWORD WINAPI WinHttpWebSocketClose( HINTERNET hsocket, USHORT status, void *reas
{
struct socket_shutdown *s;
- if (!(s = heap_alloc( sizeof(*s) ))) return FALSE;
+ if (!(s = malloc( sizeof(*s) ))) return FALSE;
s->socket = socket;
s->status = status;
memcpy( s->reason, reason, len );
@@ -3704,7 +3706,7 @@ DWORD WINAPI WinHttpWebSocketClose( HINTERNET hsocket, USHORT status, void *reas
if ((ret = queue_task( &socket->recv_q, task_socket_close, s )))
{
release_object( &socket->hdr );
- heap_free( s );
+ free( s );
}
}
else ret = socket_close( socket, status, reason, len, FALSE );
@@ -3827,10 +3829,10 @@ static void free_request( struct winhttp_request *request )
CloseHandle( request->done );
CloseHandle( request->wait );
CloseHandle( request->cancel );
- heap_free( request->proxy.lpszProxy );
- heap_free( request->proxy.lpszProxyBypass );
- heap_free( request->buffer );
- heap_free( request->verb );
+ free( request->proxy.lpszProxy );
+ free( request->proxy.lpszProxyBypass );
+ free( request->buffer );
+ free( request->verb );
VariantClear( &request->data );
}
@@ -3849,7 +3851,7 @@ static ULONG WINAPI winhttp_request_Release(
LeaveCriticalSection( &request->cs );
request->cs.DebugInfo->Spare[0] = 0;
DeleteCriticalSection( &request->cs );
- heap_free( request );
+ free( request );
}
return refs;
}
@@ -4074,16 +4076,16 @@ static HRESULT WINAPI winhttp_request_SetProxy(
{
case HTTPREQUEST_PROXYSETTING_DEFAULT:
request->proxy.dwAccessType = WINHTTP_ACCESS_TYPE_DEFAULT_PROXY;
- heap_free( request->proxy.lpszProxy );
- heap_free( request->proxy.lpszProxyBypass );
+ free( request->proxy.lpszProxy );
+ free( request->proxy.lpszProxyBypass );
request->proxy.lpszProxy = NULL;
request->proxy.lpszProxyBypass = NULL;
break;
case HTTPREQUEST_PROXYSETTING_DIRECT:
request->proxy.dwAccessType = WINHTTP_ACCESS_TYPE_NO_PROXY;
- heap_free( request->proxy.lpszProxy );
- heap_free( request->proxy.lpszProxyBypass );
+ free( request->proxy.lpszProxy );
+ free( request->proxy.lpszProxyBypass );
request->proxy.lpszProxy = NULL;
request->proxy.lpszProxyBypass = NULL;
break;
@@ -4092,12 +4094,12 @@ static HRESULT WINAPI winhttp_request_SetProxy(
request->proxy.dwAccessType = WINHTTP_ACCESS_TYPE_NAMED_PROXY;
if (V_VT( &proxy_server ) == VT_BSTR)
{
- heap_free( request->proxy.lpszProxy );
+ free( request->proxy.lpszProxy );
request->proxy.lpszProxy = strdupW( V_BSTR( &proxy_server ) );
}
if (V_VT( &bypass_list ) == VT_BSTR)
{
- heap_free( request->proxy.lpszProxyBypass );
+ free( request->proxy.lpszProxyBypass );
request->proxy.lpszProxyBypass = strdupW( V_BSTR( &bypass_list ) );
}
break;
@@ -4169,9 +4171,9 @@ static void reset_request( struct winhttp_request *request )
request->hrequest = NULL;
WinHttpCloseHandle( request->hconnect );
request->hconnect = NULL;
- heap_free( request->buffer );
+ free( request->buffer );
request->buffer = NULL;
- heap_free( request->verb );
+ free( request->verb );
request->verb = NULL;
request->offset = 0;
request->bytes_available = 0;
@@ -4184,9 +4186,9 @@ static void reset_request( struct winhttp_request *request )
request->send_timeout = 30000;
request->receive_timeout = 30000;
request->url_codepage = CP_UTF8;
- heap_free( request->proxy.lpszProxy );
+ free( request->proxy.lpszProxy );
request->proxy.lpszProxy = NULL;
- heap_free( request->proxy.lpszProxyBypass );
+ free( request->proxy.lpszProxyBypass );
request->proxy.lpszProxyBypass = NULL;
VariantClear( &request->data );
request->state = REQUEST_STATE_INITIALIZED;
@@ -4222,11 +4224,11 @@ static HRESULT WINAPI winhttp_request_Open(
EnterCriticalSection( &request->cs );
reset_request( request );
- if (!(hostname = heap_alloc( (uc.dwHostNameLength + 1) * sizeof(WCHAR) ))) goto error;
+ if (!(hostname = malloc( (uc.dwHostNameLength + 1) * sizeof(WCHAR) ))) goto error;
memcpy( hostname, uc.lpszHostName, uc.dwHostNameLength * sizeof(WCHAR) );
hostname[uc.dwHostNameLength] = 0;
- if (!(path = heap_alloc( (uc.dwUrlPathLength + uc.dwExtraInfoLength + 1) * sizeof(WCHAR) ))) goto error;
+ if (!(path = malloc( (uc.dwUrlPathLength + uc.dwExtraInfoLength + 1) * sizeof(WCHAR) ))) goto error;
memcpy( path, uc.lpszUrlPath, (uc.dwUrlPathLength + uc.dwExtraInfoLength) * sizeof(WCHAR) );
path[uc.dwUrlPathLength + uc.dwExtraInfoLength] = 0;
@@ -4270,17 +4272,17 @@ static HRESULT WINAPI winhttp_request_Open(
request->state = REQUEST_STATE_OPEN;
request->verb = verb;
- heap_free( hostname );
- heap_free( path );
+ free( hostname );
+ free( path );
LeaveCriticalSection( &request->cs );
return S_OK;
error:
WinHttpCloseHandle( request->hconnect );
request->hconnect = NULL;
- heap_free( hostname );
- heap_free( path );
- heap_free( verb );
+ free( hostname );
+ free( path );
+ free( verb );
LeaveCriticalSection( &request->cs );
return HRESULT_FROM_WIN32( err );
}
@@ -4311,7 +4313,7 @@ static HRESULT WINAPI winhttp_request_SetRequestHeader(
}
len = lstrlenW( header ) + 4;
if (value) len += lstrlenW( value );
- if (!(str = heap_alloc( (len + 1) * sizeof(WCHAR) )))
+ if (!(str = malloc( (len + 1) * sizeof(WCHAR) )))
{
err = ERROR_OUTOFMEMORY;
goto done;
@@ -4322,7 +4324,7 @@ static HRESULT WINAPI winhttp_request_SetRequestHeader(
{
err = GetLastError();
}
- heap_free( str );
+ free( str );
done:
LeaveCriticalSection( &request->cs );
@@ -4480,7 +4482,7 @@ static HRESULT request_receive( struct winhttp_request *request )
request->state = REQUEST_STATE_RESPONSE_RECEIVED;
return S_OK;
}
- if (!(request->buffer = heap_alloc( buflen ))) return E_OUTOFMEMORY;
+ if (!(request->buffer = malloc( buflen ))) return E_OUTOFMEMORY;
request->buffer[0] = 0;
size = 0;
do
@@ -4498,7 +4500,7 @@ static HRESULT request_receive( struct winhttp_request *request )
{
char *tmp;
while (buflen < size) buflen *= 2;
- if (!(tmp = heap_realloc( request->buffer, buflen )))
+ if (!(tmp = realloc( request->buffer, buflen )))
{
err = ERROR_OUTOFMEMORY;
goto error;
@@ -4520,7 +4522,7 @@ static HRESULT request_receive( struct winhttp_request *request )
return S_OK;
error:
- heap_free( request->buffer );
+ free( request->buffer );
request->buffer = NULL;
return HRESULT_FROM_WIN32( err );
}
@@ -4584,7 +4586,7 @@ static HRESULT request_send( struct winhttp_request *request )
}
}
size = WideCharToMultiByte( cp, 0, str, len, NULL, 0, NULL, NULL );
- if (!(ptr = heap_alloc( size ))) return E_OUTOFMEMORY;
+ if (!(ptr = malloc( size ))) return E_OUTOFMEMORY;
WideCharToMultiByte( cp, 0, str, len, ptr, size, NULL, NULL );
if (cp == CP_UTF8) request_set_utf8_content_type( request );
}
@@ -4608,13 +4610,13 @@ static HRESULT request_send( struct winhttp_request *request )
}
if ((err = wait_for_completion( request ))) goto error;
if (sa) SafeArrayUnaccessData( sa );
- else heap_free( ptr );
+ else free( ptr );
request->state = REQUEST_STATE_SENT;
return S_OK;
error:
if (sa) SafeArrayUnaccessData( sa );
- else heap_free( ptr );
+ else free( ptr );
return HRESULT_FROM_WIN32( err );
}
@@ -4776,7 +4778,7 @@ static DWORD request_get_codepage( struct winhttp_request *request, UINT *codepa
if (!WinHttpQueryHeaders( request->hrequest, WINHTTP_QUERY_CONTENT_TYPE, NULL, NULL, &size, NULL ) &&
GetLastError() == ERROR_INSUFFICIENT_BUFFER)
{
- if (!(buffer = heap_alloc( size ))) return ERROR_OUTOFMEMORY;
+ if (!(buffer = malloc( size ))) return ERROR_OUTOFMEMORY;
if (!WinHttpQueryHeaders( request->hrequest, WINHTTP_QUERY_CONTENT_TYPE, NULL, buffer, &size, NULL ))
{
return GetLastError();
@@ -4791,7 +4793,7 @@ static DWORD request_get_codepage( struct winhttp_request *request, UINT *codepa
if (!wcsicmp( p, L"utf-8" )) *codepage = CP_UTF8;
}
}
- heap_free( buffer );
+ free( buffer );
}
return ERROR_SUCCESS;
}
@@ -4920,8 +4922,8 @@ static ULONG WINAPI stream_Release( IStream *iface )
LONG refs = InterlockedDecrement( &stream->refs );
if (!refs)
{
- heap_free( stream->data );
- heap_free( stream );
+ free( stream->data );
+ free( stream );
}
return refs;
}
@@ -5051,16 +5053,16 @@ static HRESULT WINAPI winhttp_request_get_ResponseStream(
err = ERROR_WINHTTP_CANNOT_CALL_BEFORE_SEND;
goto done;
}
- if (!(stream = heap_alloc( sizeof(*stream) )))
+ if (!(stream = malloc( sizeof(*stream) )))
{
err = ERROR_OUTOFMEMORY;
goto done;
}
stream->IStream_iface.lpVtbl = &stream_vtbl;
stream->refs = 1;
- if (!(stream->data = heap_alloc( request->offset )))
+ if (!(stream->data = malloc( request->offset )))
{
- heap_free( stream );
+ free( stream );
err = ERROR_OUTOFMEMORY;
goto done;
}
@@ -5287,7 +5289,7 @@ HRESULT WinHttpRequest_create( void **obj )
TRACE("%p\n", obj);
- if (!(request = heap_alloc_zero( sizeof(*request) ))) return E_OUTOFMEMORY;
+ if (!(request = calloc( 1, sizeof(*request) ))) return E_OUTOFMEMORY;
request->IWinHttpRequest_iface.lpVtbl = &winhttp_request_vtbl;
request->refs = 1;
InitializeCriticalSection( &request->cs );
diff --git a/dlls/winhttp/session.c b/dlls/winhttp/session.c
index 005c35dea4c..dcea874306a 100644
--- a/dlls/winhttp/session.c
+++ b/dlls/winhttp/session.c
@@ -74,12 +74,12 @@ static void session_destroy( struct object_header *hdr )
session->cs.DebugInfo->Spare[0] = 0;
DeleteCriticalSection( &session->cs );
- heap_free( session->agent );
- heap_free( session->proxy_server );
- heap_free( session->proxy_bypass );
- heap_free( session->proxy_username );
- heap_free( session->proxy_password );
- heap_free( session );
+ free( session->agent );
+ free( session->proxy_server );
+ free( session->proxy_bypass );
+ free( session->proxy_username );
+ free( session->proxy_password );
+ free( session );
}
static BOOL session_query_option( struct object_header *hdr, DWORD option, void *buffer, DWORD *buflen )
@@ -239,7 +239,7 @@ HINTERNET WINAPI WinHttpOpen( LPCWSTR agent, DWORD access, LPCWSTR proxy, LPCWST
TRACE("%s, %u, %s, %s, 0x%08x\n", debugstr_w(agent), access, debugstr_w(proxy), debugstr_w(bypass), flags);
- if (!(session = heap_alloc_zero( sizeof(struct session) ))) return NULL;
+ if (!(session = calloc( 1, sizeof(*session) ))) return NULL;
session->hdr.type = WINHTTP_HANDLE_TYPE_SESSION;
session->hdr.vtbl = &session_vtbl;
@@ -299,11 +299,11 @@ static void connect_destroy( struct object_header *hdr )
release_object( &connect->session->hdr );
- heap_free( connect->hostname );
- heap_free( connect->servername );
- heap_free( connect->username );
- heap_free( connect->password );
- heap_free( connect );
+ free( connect->hostname );
+ free( connect->servername );
+ free( connect->username );
+ free( connect->password );
+ free( connect );
}
static BOOL connect_query_option( struct object_header *hdr, DWORD option, void *buffer, DWORD *buflen )
@@ -462,16 +462,14 @@ BOOL set_server_for_hostname( struct connect *connect, const WCHAR *server, INTE
if (!connect->servername || wcsnicmp( connect->servername,
session->proxy_server, colon - session->proxy_server - 1 ))
{
- heap_free( connect->servername );
+ free( connect->servername );
connect->resolved = FALSE;
- if (!(connect->servername = heap_alloc(
- (colon - session->proxy_server + 1) * sizeof(WCHAR) )))
+ if (!(connect->servername = malloc( (colon - session->proxy_server + 1) * sizeof(WCHAR) )))
{
ret = FALSE;
goto end;
}
- memcpy( connect->servername, session->proxy_server,
- (colon - session->proxy_server) * sizeof(WCHAR) );
+ memcpy( connect->servername, session->proxy_server, (colon - session->proxy_server) * sizeof(WCHAR) );
connect->servername[colon - session->proxy_server] = 0;
if (*(colon + 1))
connect->serverport = wcstol( colon + 1, NULL, 10 );
@@ -481,10 +479,9 @@ BOOL set_server_for_hostname( struct connect *connect, const WCHAR *server, INTE
}
else
{
- if (!connect->servername || wcsicmp( connect->servername,
- session->proxy_server ))
+ if (!connect->servername || wcsicmp( connect->servername, session->proxy_server ))
{
- heap_free( connect->servername );
+ free( connect->servername );
connect->resolved = FALSE;
if (!(connect->servername = strdupW( session->proxy_server )))
{
@@ -497,7 +494,7 @@ BOOL set_server_for_hostname( struct connect *connect, const WCHAR *server, INTE
}
else if (server)
{
- heap_free( connect->servername );
+ free( connect->servername );
connect->resolved = FALSE;
if (!(connect->servername = strdupW( server )))
{
@@ -537,7 +534,7 @@ HINTERNET WINAPI WinHttpConnect( HINTERNET hsession, LPCWSTR server, INTERNET_PO
SetLastError( ERROR_WINHTTP_INCORRECT_HANDLE_TYPE );
return NULL;
}
- if (!(connect = heap_alloc_zero( sizeof(struct connect) )))
+ if (!(connect = calloc( 1, sizeof(*connect) )))
{
release_object( &session->hdr );
return NULL;
@@ -588,27 +585,27 @@ static void request_destroy( struct object_header *hdr )
destroy_authinfo( request->authinfo );
destroy_authinfo( request->proxy_authinfo );
- heap_free( request->verb );
- heap_free( request->path );
- heap_free( request->version );
- heap_free( request->raw_headers );
- heap_free( request->status_text );
+ free( request->verb );
+ free( request->path );
+ free( request->version );
+ free( request->raw_headers );
+ free( request->status_text );
for (i = 0; i < request->num_headers; i++)
{
- heap_free( request->headers[i].field );
- heap_free( request->headers[i].value );
+ free( request->headers[i].field );
+ free( request->headers[i].value );
}
- heap_free( request->headers );
+ free( request->headers );
for (i = 0; i < TARGET_MAX; i++)
{
for (j = 0; j < SCHEME_MAX; j++)
{
- heap_free( request->creds[i][j].username );
- heap_free( request->creds[i][j].password );
+ free( request->creds[i][j].username );
+ free( request->creds[i][j].password );
}
}
- heap_free( request );
+ free( request );
}
static void str_to_buffer( WCHAR *buffer, const WCHAR *str, LPDWORD buflen )
@@ -835,7 +832,7 @@ static BOOL request_query_option( struct object_header *hdr, DWORD option, void
static WCHAR *buffer_to_str( WCHAR *buffer, DWORD buflen )
{
WCHAR *ret;
- if ((ret = heap_alloc( (buflen + 1) * sizeof(WCHAR))))
+ if ((ret = malloc( (buflen + 1) * sizeof(WCHAR))))
{
memcpy( ret, buffer, buflen * sizeof(WCHAR) );
ret[buflen] = 0;
@@ -950,7 +947,7 @@ static BOOL request_set_option( struct object_header *hdr, DWORD option, void *b
{
struct connect *connect = request->connect;
- heap_free( connect->username );
+ free( connect->username );
if (!(connect->username = buffer_to_str( buffer, buflen ))) return FALSE;
return TRUE;
}
@@ -958,7 +955,7 @@ static BOOL request_set_option( struct object_header *hdr, DWORD option, void *b
{
struct connect *connect = request->connect;
- heap_free( connect->password );
+ free( connect->password );
if (!(connect->password = buffer_to_str( buffer, buflen ))) return FALSE;
return TRUE;
}
@@ -966,7 +963,7 @@ static BOOL request_set_option( struct object_header *hdr, DWORD option, void *b
{
struct session *session = request->connect->session;
- heap_free( session->proxy_username );
+ free( session->proxy_username );
if (!(session->proxy_username = buffer_to_str( buffer, buflen ))) return FALSE;
return TRUE;
}
@@ -974,7 +971,7 @@ static BOOL request_set_option( struct object_header *hdr, DWORD option, void *b
{
struct session *session = request->connect->session;
- heap_free( session->proxy_password );
+ free( session->proxy_password );
if (!(session->proxy_password = buffer_to_str( buffer, buflen ))) return FALSE;
return TRUE;
}
@@ -1077,7 +1074,7 @@ static WCHAR *get_request_path( const WCHAR *object )
WCHAR *p, *ret;
if (!object || object[0] != '/') len++;
- if (!(p = ret = heap_alloc( (len + 1) * sizeof(WCHAR) ))) return NULL;
+ if (!(p = ret = malloc( (len + 1) * sizeof(WCHAR) ))) return NULL;
if (!object || object[0] != '/') *p++ = '/';
if (object) lstrcpyW( p, object );
ret[len] = 0;
@@ -1115,7 +1112,7 @@ HINTERNET WINAPI WinHttpOpenRequest( HINTERNET hconnect, LPCWSTR verb, LPCWSTR o
SetLastError( ERROR_WINHTTP_INCORRECT_HANDLE_TYPE );
return NULL;
}
- if (!(request = heap_alloc_zero( sizeof(struct request) )))
+ if (!(request = calloc( 1, sizeof(*request) )))
{
release_object( &connect->hdr );
return NULL;
@@ -1306,16 +1303,16 @@ static IP_ADAPTER_ADDRESSES *get_adapters(void)
GAA_FLAG_SKIP_DNS_SERVER | GAA_FLAG_SKIP_FRIENDLY_NAME;
IP_ADAPTER_ADDRESSES *tmp, *ret;
- if (!(ret = heap_alloc( size ))) return NULL;
+ if (!(ret = malloc( size ))) return NULL;
err = GetAdaptersAddresses( AF_UNSPEC, flags, NULL, ret, &size );
while (err == ERROR_BUFFER_OVERFLOW)
{
- if (!(tmp = heap_realloc( ret, size ))) break;
+ if (!(tmp = realloc( ret, size ))) break;
ret = tmp;
err = GetAdaptersAddresses( AF_UNSPEC, flags, NULL, ret, &size );
}
if (err == ERROR_SUCCESS) return ret;
- heap_free( ret );
+ free( ret );
return NULL;
}
@@ -1345,12 +1342,12 @@ static WCHAR *detect_autoproxyconfig_url_dhcp(void)
/* FIXME: also skip adapters where DHCP is disabled */
size = 256;
- if (!(buf = heap_alloc( size ))) goto done;
+ if (!(buf = malloc( size ))) goto done;
err = DhcpRequestParams( DHCPCAPI_REQUEST_SYNCHRONOUS, NULL, name, NULL, send_params, recv_params,
buf, &size, NULL );
while (err == ERROR_MORE_DATA)
{
- if (!(tmp = heap_realloc( buf, size ))) goto done;
+ if (!(tmp = realloc( buf, size ))) goto done;
buf = tmp;
err = DhcpRequestParams( DHCPCAPI_REQUEST_SYNCHRONOUS, NULL, name, NULL, send_params, recv_params,
buf, &size, NULL );
@@ -1358,7 +1355,7 @@ static WCHAR *detect_autoproxyconfig_url_dhcp(void)
if (err == ERROR_SUCCESS && param.nBytesData)
{
int len = MultiByteToWideChar( CP_ACP, 0, (const char *)param.Data, param.nBytesData, NULL, 0 );
- if ((ret = heap_alloc( (len + 1) * sizeof(WCHAR) )))
+ if ((ret = malloc( (len + 1) * sizeof(WCHAR) )))
{
MultiByteToWideChar( CP_ACP, 0, (const char *)param.Data, param.nBytesData, ret, len );
ret[len] = 0;
@@ -1369,8 +1366,8 @@ static WCHAR *detect_autoproxyconfig_url_dhcp(void)
}
done:
- heap_free( buf );
- heap_free( adapters );
+ free( buf );
+ free( adapters );
return ret;
}
@@ -1381,10 +1378,10 @@ static char *get_computer_name( COMPUTER_NAME_FORMAT format )
GetComputerNameExA( format, NULL, &size );
if (GetLastError() != ERROR_MORE_DATA) return NULL;
- if (!(ret = heap_alloc( size ))) return NULL;
+ if (!(ret = malloc( size ))) return NULL;
if (!GetComputerNameExA( format, ret, &size ))
{
- heap_free( ret );
+ free( ret );
return NULL;
}
return ret;
@@ -1432,7 +1429,7 @@ static WCHAR *detect_autoproxyconfig_url_dns(void)
if (!(fqdn = get_computer_name( ComputerNamePhysicalDnsFullyQualified ))) return NULL;
if (!(domain = get_computer_name( ComputerNamePhysicalDnsDomain )))
{
- heap_free( fqdn );
+ free( fqdn );
return NULL;
}
p = fqdn;
@@ -1442,10 +1439,10 @@ static WCHAR *detect_autoproxyconfig_url_dns(void)
struct addrinfo *ai;
int res;
- if (!(name = heap_alloc( sizeof("wpad") + strlen(p) )))
+ if (!(name = malloc( sizeof("wpad") + strlen(p) )))
{
- heap_free( fqdn );
- heap_free( domain );
+ free( fqdn );
+ free( domain );
return NULL;
}
strcpy( name, "wpad" );
@@ -1458,15 +1455,15 @@ static WCHAR *detect_autoproxyconfig_url_dns(void)
if (ret)
{
TRACE("returning %s\n", debugstr_w(ret));
- heap_free( name );
+ free( name );
break;
}
}
- heap_free( name );
+ free( name );
p++;
}
- heap_free( domain );
- heap_free( fqdn );
+ free( domain );
+ free( fqdn );
return ret;
}
@@ -1547,7 +1544,7 @@ BOOL WINAPI WinHttpGetDefaultProxyConfiguration( WINHTTP_PROXY_INFO *info )
if (!l && type == REG_BINARY &&
size >= sizeof(struct connection_settings_header) + 2 * sizeof(DWORD))
{
- BYTE *buf = heap_alloc( size );
+ BYTE *buf = malloc( size );
if (buf)
{
@@ -1605,7 +1602,7 @@ BOOL WINAPI WinHttpGetDefaultProxyConfiguration( WINHTTP_PROXY_INFO *info )
}
}
}
- heap_free( buf );
+ free( buf );
}
}
RegCloseKey( key );
@@ -1673,7 +1670,7 @@ BOOL WINAPI WinHttpGetIEProxyConfigForCurrentUser( WINHTTP_CURRENT_USER_IE_PROXY
ret = TRUE;
goto done;
}
- if (!(hdr = heap_alloc( size ))) goto done;
+ if (!(hdr = malloc( size ))) goto done;
if (RegQueryValueExW( hkey, L"DefaultConnectionSettings", NULL, &type, (BYTE *)hdr, &size ) ||
hdr->magic != WININET_SETTINGS_MAGIC)
{
@@ -1713,7 +1710,7 @@ BOOL WINAPI WinHttpGetIEProxyConfigForCurrentUser( WINHTTP_CURRENT_USER_IE_PROXY
done:
RegCloseKey( hkey );
- heap_free( hdr );
+ free( hdr );
if (!ret)
{
GlobalFree( config->lpszAutoConfigUrl );
@@ -1777,7 +1774,7 @@ static char *download_script( const WCHAR *url, DWORD *out_size )
uc.dwHostNameLength = -1;
uc.dwUrlPathLength = -1;
if (!WinHttpCrackUrl( url, 0, 0, &uc )) return NULL;
- if (!(hostname = heap_alloc( (uc.dwHostNameLength + 1) * sizeof(WCHAR) ))) return NULL;
+ if (!(hostname = malloc( (uc.dwHostNameLength + 1) * sizeof(WCHAR) ))) return NULL;
memcpy( hostname, uc.lpszHostName, uc.dwHostNameLength * sizeof(WCHAR) );
hostname[uc.dwHostNameLength] = 0;
@@ -1792,7 +1789,7 @@ static char *download_script( const WCHAR *url, DWORD *out_size )
&size, NULL ) || status != HTTP_STATUS_OK) goto done;
size = 4096;
- if (!(buffer = heap_alloc( size ))) goto done;
+ if (!(buffer = malloc( size ))) goto done;
to_read = size;
offset = 0;
for (;;)
@@ -1806,7 +1803,7 @@ static char *download_script( const WCHAR *url, DWORD *out_size )
{
to_read = size;
size *= 2;
- if (!(tmp = heap_realloc( buffer, size ))) goto done;
+ if (!(tmp = realloc( buffer, size ))) goto done;
buffer = tmp;
}
}
@@ -1815,7 +1812,7 @@ done:
WinHttpCloseHandle( req );
WinHttpCloseHandle( con );
WinHttpCloseHandle( ses );
- heap_free( hostname );
+ free( hostname );
if (!buffer) SetLastError( ERROR_WINHTTP_UNABLE_TO_DOWNLOAD_SCRIPT );
return buffer;
}
@@ -1846,7 +1843,7 @@ static BOOL run_script( char *script, DWORD size, const WCHAR *url, WINHTTP_PROX
if (!(urlA = strdupWA( url ))) return FALSE;
if (!(ret = InternetInitializeAutoProxyDll( 0, NULL, NULL, NULL, &buffer )))
{
- heap_free( urlA );
+ free( urlA );
return FALSE;
}
@@ -1862,12 +1859,12 @@ static BOOL run_script( char *script, DWORD size, const WCHAR *url, WINHTTP_PROX
hostnameA, strlen(hostnameA), &result, &len_result )))
{
ret = parse_script_result( result, info );
- heap_free( result );
+ free( result );
}
- heap_free( hostnameA );
+ free( hostnameA );
}
- heap_free( urlA );
+ free( urlA );
InternetDeInitializeAutoProxyDll( NULL, 0 );
return ret;
}
@@ -1918,7 +1915,7 @@ BOOL WINAPI WinHttpGetProxyForUrl( HINTERNET hsession, LPCWSTR url, WINHTTP_AUTO
if ((script = download_script( pac_url, &size )))
{
ret = run_script( script, size, url, info );
- heap_free( script );
+ free( script );
}
done:
@@ -1990,8 +1987,7 @@ BOOL WINAPI WinHttpSetDefaultProxyConfiguration( WINHTTP_PROXY_INFO *info )
if (info->lpszProxyBypass)
size += lstrlenW( info->lpszProxyBypass );
}
- buf = heap_alloc( size );
- if (buf)
+ if ((buf = malloc( size )))
{
struct connection_settings_header *hdr =
(struct connection_settings_header *)buf;
@@ -2028,7 +2024,7 @@ BOOL WINAPI WinHttpSetDefaultProxyConfiguration( WINHTTP_PROXY_INFO *info )
l = RegSetValueExW( key, L"WinHttpSettings", 0, REG_BINARY, buf, size );
if (!l)
ret = TRUE;
- heap_free( buf );
+ free( buf );
}
RegCloseKey( key );
}
diff --git a/dlls/winhttp/url.c b/dlls/winhttp/url.c
index 3e248bca9f7..0d9dfb76de6 100644
--- a/dlls/winhttp/url.c
+++ b/dlls/winhttp/url.c
@@ -65,7 +65,7 @@ static WCHAR *decode_url( LPCWSTR url, DWORD *len )
const WCHAR *p = url;
WCHAR hex[3], *q, *ret;
- if (!(ret = heap_alloc( *len * sizeof(WCHAR) ))) return NULL;
+ if (!(ret = malloc( *len * sizeof(WCHAR) ))) return NULL;
q = ret;
while (*len > 0)
{
@@ -144,7 +144,7 @@ static DWORD escape_url( const WCHAR *url, DWORD *len, WCHAR **ret )
len_path = 0;
}
- if (!(*ret = heap_alloc( (len_base + len_path + 1) * sizeof(WCHAR) ))) return ERROR_OUTOFMEMORY;
+ if (!(*ret = malloc( (len_base + len_path + 1) * sizeof(WCHAR) ))) return ERROR_OUTOFMEMORY;
memcpy( *ret, url, len_base * sizeof(WCHAR) );
if (p) escape_string( p, *len - (p - url), *ret + len_base, &len_path );
@@ -331,8 +331,8 @@ exit:
if (overflow) err = ERROR_INSUFFICIENT_BUFFER;
uc->nScheme = scheme_number;
}
- heap_free( url_decoded );
- heap_free( url_escaped );
+ free( url_decoded );
+ free( url_escaped );
SetLastError( err );
return !err;
}
diff --git a/dlls/winhttp/winhttp_private.h b/dlls/winhttp/winhttp_private.h
index e279e58a5fe..069951d4811 100644
--- a/dlls/winhttp/winhttp_private.h
+++ b/dlls/winhttp/winhttp_private.h
@@ -19,13 +19,12 @@
#ifndef _WINE_WINHTTP_PRIVATE_H_
#define _WINE_WINHTTP_PRIVATE_H_
-#include "wine/heap.h"
-#include "wine/list.h"
-
#include "ole2.h"
#include "sspi.h"
#include "wincrypt.h"
+#include "wine/list.h"
+
#define WINHTTP_HANDLE_TYPE_SOCKET 4
struct object_header;
@@ -347,17 +346,12 @@ DWORD process_header( struct request *, const WCHAR *, const WCHAR *, DWORD, BOO
extern HRESULT WinHttpRequest_create( void ** ) DECLSPEC_HIDDEN;
void release_typelib( void ) DECLSPEC_HIDDEN;
-static inline void* __WINE_ALLOC_SIZE(2) heap_realloc_zero( LPVOID mem, SIZE_T size )
-{
- return HeapReAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY, mem, size );
-}
-
static inline WCHAR *strdupW( const WCHAR *src )
{
WCHAR *dst;
if (!src) return NULL;
- dst = heap_alloc( (lstrlenW( src ) + 1) * sizeof(WCHAR) );
+ dst = malloc( (lstrlenW( src ) + 1) * sizeof(WCHAR) );
if (dst) lstrcpyW( dst, src );
return dst;
}
@@ -368,7 +362,7 @@ static inline WCHAR *strdupAW( const char *src )
if (src)
{
int len = MultiByteToWideChar( CP_ACP, 0, src, -1, NULL, 0 );
- if ((dst = heap_alloc( len * sizeof(WCHAR) )))
+ if ((dst = malloc( len * sizeof(WCHAR) )))
MultiByteToWideChar( CP_ACP, 0, src, -1, dst, len );
}
return dst;
@@ -380,7 +374,7 @@ static inline char *strdupWA( const WCHAR *src )
if (src)
{
int len = WideCharToMultiByte( CP_ACP, 0, src, -1, NULL, 0, NULL, NULL );
- if ((dst = heap_alloc( len )))
+ if ((dst = malloc( len )))
WideCharToMultiByte( CP_ACP, 0, src, -1, dst, len, NULL, NULL );
}
return dst;
@@ -392,7 +386,7 @@ static inline char *strdupWA_sized( const WCHAR *src, DWORD size )
if (src)
{
int len = WideCharToMultiByte( CP_ACP, 0, src, size, NULL, 0, NULL, NULL ) + 1;
- if ((dst = heap_alloc( len )))
+ if ((dst = malloc( len )))
{
WideCharToMultiByte( CP_ACP, 0, src, size, dst, len, NULL, NULL );
dst[len - 1] = 0;
--
2.30.2