forked from wolfSSL/wolfssl
Fix for NO_REALLOC build crash
This commit is contained in:
@@ -2778,9 +2778,11 @@ int wolfSSL_BIO_flush(WOLFSSL_BIO* bio)
|
|||||||
#ifdef WOLFSSL_NO_REALLOC
|
#ifdef WOLFSSL_NO_REALLOC
|
||||||
tmp = b->ip;
|
tmp = b->ip;
|
||||||
b->ip = (char*)XMALLOC(newLen+1, b->heap, DYNAMIC_TYPE_OPENSSL);
|
b->ip = (char*)XMALLOC(newLen+1, b->heap, DYNAMIC_TYPE_OPENSSL);
|
||||||
XMEMCPY(b->ip, tmp, newLen);
|
if (b->ip != NULL && tmp != NULL) {
|
||||||
XFREE(tmp, b->heap, DYNAMIC_TYPE_OPENSSL);
|
XMEMCPY(b->ip, tmp, newLen);
|
||||||
tmp = NULL;
|
XFREE(tmp, b->heap, DYNAMIC_TYPE_OPENSSL);
|
||||||
|
tmp = NULL;
|
||||||
|
}
|
||||||
#else
|
#else
|
||||||
b->ip = (char*)XREALLOC(b->ip, newLen + 1, b->heap,
|
b->ip = (char*)XREALLOC(b->ip, newLen + 1, b->heap,
|
||||||
DYNAMIC_TYPE_OPENSSL);
|
DYNAMIC_TYPE_OPENSSL);
|
||||||
|
@@ -776,7 +776,7 @@ static char* expandValue(WOLFSSL_CONF *conf, const char* section,
|
|||||||
#ifdef WOLFSSL_NO_REALLOC
|
#ifdef WOLFSSL_NO_REALLOC
|
||||||
newRet = (char*)XMALLOC(strLen + 1, NULL,
|
newRet = (char*)XMALLOC(strLen + 1, NULL,
|
||||||
DYNAMIC_TYPE_OPENSSL);
|
DYNAMIC_TYPE_OPENSSL);
|
||||||
if (newRet != NULL) {
|
if (newRet != NULL && ret != NULL) {
|
||||||
XMEMCPY(newRet, ret, (strLen - valueLen) + 1);
|
XMEMCPY(newRet, ret, (strLen - valueLen) + 1);
|
||||||
XFREE(ret, NULL, DYNAMIC_TYPE_OPENSSL);
|
XFREE(ret, NULL, DYNAMIC_TYPE_OPENSSL);
|
||||||
ret = NULL;
|
ret = NULL;
|
||||||
|
@@ -39407,7 +39407,7 @@ static int DoSessionTicket(WOLFSSL* ssl, const byte* input, word32* inOutIdx,
|
|||||||
#ifdef WOLFSSL_NO_REALLOC
|
#ifdef WOLFSSL_NO_REALLOC
|
||||||
tmp = (byte*)XMALLOC(sizeof(InternalTicket), ssl->heap,
|
tmp = (byte*)XMALLOC(sizeof(InternalTicket), ssl->heap,
|
||||||
DYNAMIC_TYPE_TLSX);
|
DYNAMIC_TYPE_TLSX);
|
||||||
if (tmp != NULL)
|
if (tmp != NULL && psk->identity != NULL)
|
||||||
{
|
{
|
||||||
XMEMCPY(tmp, psk->identity, psk->identityLen);
|
XMEMCPY(tmp, psk->identity, psk->identityLen);
|
||||||
XFREE(psk->identity, ssl->heap, DYNAMIC_TYPE_TLSX);
|
XFREE(psk->identity, ssl->heap, DYNAMIC_TYPE_TLSX);
|
||||||
|
2
src/pk.c
2
src/pk.c
@@ -521,7 +521,7 @@ static int der_to_enc_pem_alloc(unsigned char* der, int derSz,
|
|||||||
#ifdef WOLFSSL_NO_REALLOC
|
#ifdef WOLFSSL_NO_REALLOC
|
||||||
tmpBuf = (byte*)XMALLOC((size_t)(derSz + blockSz), heap,
|
tmpBuf = (byte*)XMALLOC((size_t)(derSz + blockSz), heap,
|
||||||
DYNAMIC_TYPE_TMP_BUFFER);
|
DYNAMIC_TYPE_TMP_BUFFER);
|
||||||
if (tmpBuf != NULL)
|
if (tmpBuf != NULL && der != NULL)
|
||||||
{
|
{
|
||||||
XMEMCPY(tmpBuf, der, (size_t)(derSz));
|
XMEMCPY(tmpBuf, der, (size_t)(derSz));
|
||||||
XFREE(der, heap, DYNAMIC_TYPE_TMP_BUFFER);
|
XFREE(der, heap, DYNAMIC_TYPE_TMP_BUFFER);
|
||||||
|
@@ -24809,7 +24809,7 @@ int wolfSSL_BUF_MEM_grow_ex(WOLFSSL_BUF_MEM* buf, size_t len,
|
|||||||
|
|
||||||
#ifdef WOLFSSL_NO_REALLOC
|
#ifdef WOLFSSL_NO_REALLOC
|
||||||
tmp = (char*)XMALLOC(mx, NULL, DYNAMIC_TYPE_OPENSSL);
|
tmp = (char*)XMALLOC(mx, NULL, DYNAMIC_TYPE_OPENSSL);
|
||||||
if (tmp != NULL) {
|
if (tmp != NULL && buf->data != NULL) {
|
||||||
XMEMCPY(tmp, buf->data, len_int);
|
XMEMCPY(tmp, buf->data, len_int);
|
||||||
XFREE(buf->data, NULL, DYNAMIC_TYPE_OPENSSL);
|
XFREE(buf->data, NULL, DYNAMIC_TYPE_OPENSSL);
|
||||||
buf->data = NULL;
|
buf->data = NULL;
|
||||||
@@ -24862,7 +24862,7 @@ int wolfSSL_BUF_MEM_resize(WOLFSSL_BUF_MEM* buf, size_t len)
|
|||||||
/* We want to shrink the internal buffer */
|
/* We want to shrink the internal buffer */
|
||||||
#ifdef WOLFSSL_NO_REALLOC
|
#ifdef WOLFSSL_NO_REALLOC
|
||||||
tmp = (char*)XMALLOC(mx, NULL, DYNAMIC_TYPE_OPENSSL);
|
tmp = (char*)XMALLOC(mx, NULL, DYNAMIC_TYPE_OPENSSL);
|
||||||
if (tmp != NULL )
|
if (tmp != NULL && buf->data != NULL)
|
||||||
{
|
{
|
||||||
XMEMCPY(tmp, buf->data, len);
|
XMEMCPY(tmp, buf->data, len);
|
||||||
XFREE(buf->data,NULL,DYNAMIC_TYPE_OPENSSL);
|
XFREE(buf->data,NULL,DYNAMIC_TYPE_OPENSSL);
|
||||||
|
@@ -799,7 +799,7 @@ static int wolfssl_asn1_bit_string_grow(WOLFSSL_ASN1_BIT_STRING* bitStr,
|
|||||||
|
|
||||||
#ifdef WOLFSSL_NO_REALLOC
|
#ifdef WOLFSSL_NO_REALLOC
|
||||||
tmp = (byte*)XMALLOC((size_t)len, NULL, DYNAMIC_TYPE_OPENSSL);
|
tmp = (byte*)XMALLOC((size_t)len, NULL, DYNAMIC_TYPE_OPENSSL);
|
||||||
if (tmp != NULL) {
|
if (tmp != NULL && bitStr->data != NULL) {
|
||||||
XMEMCPY(tmp, bitStr->data, bitStr->length);
|
XMEMCPY(tmp, bitStr->data, bitStr->length);
|
||||||
XFREE(bitStr->data, NULL, DYNAMIC_TYPE_OPENSSL);
|
XFREE(bitStr->data, NULL, DYNAMIC_TYPE_OPENSSL);
|
||||||
bitStr->data = NULL;
|
bitStr->data = NULL;
|
||||||
|
Reference in New Issue
Block a user