net.http: fix crash on Windows when using Boehm GC (#14351)
parent
1c7cd95664
commit
71af8abb43
|
@ -877,7 +877,7 @@ static SECURITY_STATUS https_make_request(TlsContext *tls_ctx, CHAR *req, CHAR *
|
|||
// increase buffer size if we need
|
||||
int required_length = *length+(int)pDataBuffer->cbBuffer;
|
||||
if( required_length > buff_size ) {
|
||||
CHAR *a = realloc(*out, required_length);
|
||||
CHAR *a = VSCHANNEL_REALLOC(*out, required_length);
|
||||
if( a == NULL ) {
|
||||
scRet = SEC_E_INTERNAL_ERROR;
|
||||
return scRet;
|
||||
|
|
|
@ -20,6 +20,10 @@
|
|||
// Define here to be sure
|
||||
#define SP_PROT_TLS1_2_CLIENT 0x00000800
|
||||
|
||||
#if !defined(VSCHANNEL_REALLOC)
|
||||
#define VSCHANNEL_REALLOC realloc
|
||||
#endif
|
||||
|
||||
typedef struct TlsContext TlsContext;
|
||||
|
||||
TlsContext new_tls_context();
|
||||
|
|
|
@ -3,6 +3,10 @@
|
|||
// that can be found in the LICENSE file.
|
||||
module http
|
||||
|
||||
$if gcboehm ? {
|
||||
#define VSCHANNEL_REALLOC GC_REALLOC
|
||||
}
|
||||
|
||||
#flag windows -I @VEXEROOT/thirdparty/vschannel
|
||||
#flag -l ws2_32 -l crypt32 -l secur32 -l user32
|
||||
#include "vschannel.c"
|
||||
|
|
Loading…
Reference in New Issue