@@ -18856,7 +18856,7 @@ WOLF_STACK_OF(WOLFSSL_X509)* wolfSSL_set_peer_cert_chain(WOLFSSL* ssl)
1885618856 sk = wolfSSL_sk_X509_new_null();
1885718857 i = ssl->session->chain.count-1;
1885818858 for (; i >= 0; i--) {
18859- x509 = wolfSSL_X509_new( );
18859+ x509 = wolfSSL_X509_new_ex(ssl->heap );
1886018860 if (x509 == NULL) {
1886118861 WOLFSSL_MSG("Error Creating X509");
1886218862 wolfSSL_sk_X509_pop_free(sk, NULL);
@@ -19224,9 +19224,10 @@ WOLFSSL_X509* wolfSSL_get_certificate(WOLFSSL* ssl)
1922419224 return NULL;
1922519225 }
1922619226 #ifndef WOLFSSL_X509_STORE_CERTS
19227- ssl->ourCert = wolfSSL_X509_d2i (NULL,
19227+ ssl->ourCert = wolfSSL_X509_d2i_ex (NULL,
1922819228 ssl->buffers.certificate->buffer,
19229- ssl->buffers.certificate->length);
19229+ ssl->buffers.certificate->length,
19230+ ssl->heap);
1923019231 #endif
1923119232 }
1923219233 return ssl->ourCert;
@@ -19239,9 +19240,10 @@ WOLFSSL_X509* wolfSSL_get_certificate(WOLFSSL* ssl)
1923919240 return NULL;
1924019241 }
1924119242 #ifndef WOLFSSL_X509_STORE_CERTS
19242- ssl->ctx->ourCert = wolfSSL_X509_d2i (NULL,
19243+ ssl->ctx->ourCert = wolfSSL_X509_d2i_ex (NULL,
1924319244 ssl->ctx->certificate->buffer,
19244- ssl->ctx->certificate->length);
19245+ ssl->ctx->certificate->length,
19246+ ssl->heap);
1924519247 #endif
1924619248 ssl->ctx->ownOurCert = 1;
1924719249 }
@@ -19261,9 +19263,9 @@ WOLFSSL_X509* wolfSSL_CTX_get0_certificate(WOLFSSL_CTX* ctx)
1926119263 return NULL;
1926219264 }
1926319265 #ifndef WOLFSSL_X509_STORE_CERTS
19264- ctx->ourCert = wolfSSL_X509_d2i (NULL,
19266+ ctx->ourCert = wolfSSL_X509_d2i_ex (NULL,
1926519267 ctx->certificate->buffer,
19266- ctx->certificate->length);
19268+ ctx->certificate->length, ctx->heap );
1926719269 #endif
1926819270 ctx->ownOurCert = 1;
1926919271 }
@@ -26221,7 +26223,8 @@ void* wolfSSL_GetHKDFExtractCtx(WOLFSSL* ssl)
2622126223 return WOLFSSL_FAILURE;
2622226224 }
2622326225 #else
26224- ctx->ourCert = wolfSSL_X509_d2i(NULL, x->derCert->buffer,x->derCert->length);
26226+ ctx->ourCert = wolfSSL_X509_d2i_ex(NULL, x->derCert->buffer,
26227+ x->derCert->length, ctx->heap);
2622526228 if(ctx->ourCert == NULL){
2622626229 return WOLFSSL_FAILURE;
2622726230 }
@@ -30057,8 +30060,8 @@ int wolfSSL_CTX_get_extra_chain_certs(WOLFSSL_CTX* ctx, WOLF_STACK_OF(X509)** ch
3005730060 idx += 3;
3005830061
3005930062 /* Create a new X509 from DER encoded data. */
30060- node->data.x509 = wolfSSL_X509_d2i (NULL, ctx->certChain->buffer + idx ,
30061- length);
30063+ node->data.x509 = wolfSSL_X509_d2i_ex (NULL,
30064+ ctx->certChain->buffer + idx, length, ctx->heap );
3006230065 if (node->data.x509 == NULL) {
3006330066 XFREE(node, NULL, DYNAMIC_TYPE_OPENSSL);
3006430067 /* Return as much of the chain as we created. */
@@ -33784,8 +33787,8 @@ WOLFSSL_STACK* wolfSSL_PKCS7_to_stack(PKCS7* pkcs7)
3378433787 return p7->certs;
3378533788
3378633789 for (i = 0; i < MAX_PKCS7_CERTS && p7->pkcs7.cert[i]; i++) {
33787- WOLFSSL_X509* x509 = wolfSSL_X509_d2i (NULL, p7->pkcs7.cert[i],
33788- p7->pkcs7.certSz[i]);
33790+ WOLFSSL_X509* x509 = wolfSSL_X509_d2i_ex (NULL, p7->pkcs7.cert[i],
33791+ p7->pkcs7.certSz[i], pkcs7->heap );
3378933792 if (!ret)
3379033793 ret = wolfSSL_sk_X509_new_null();
3379133794 if (x509) {
0 commit comments