forked from wolfSSL/wolfssl
Add NULL checks on key copy
This commit is contained in:
@ -6830,10 +6830,18 @@ int SetSSL_CTX(WOLFSSL* ssl, WOLFSSL_CTX* ctx, int writeDup)
|
|||||||
#endif
|
#endif
|
||||||
#ifndef WOLFSSL_BLIND_PRIVATE_KEY
|
#ifndef WOLFSSL_BLIND_PRIVATE_KEY
|
||||||
#ifdef WOLFSSL_COPY_KEY
|
#ifdef WOLFSSL_COPY_KEY
|
||||||
AllocCopyDer(&ssl->buffers.key, ctx->privateKey->buffer,
|
if (ctx->privateKey != NULL) {
|
||||||
ctx->privateKey->length, ctx->privateKey->type,
|
if (ssl->buffers.key != NULL) {
|
||||||
ctx->privateKey->heap);
|
FreeDer(&ssl->buffers.key);
|
||||||
ssl->buffers.weOwnKey = 1;
|
}
|
||||||
|
AllocCopyDer(&ssl->buffers.key, ctx->privateKey->buffer,
|
||||||
|
ctx->privateKey->length, ctx->privateKey->type,
|
||||||
|
ctx->privateKey->heap);
|
||||||
|
ssl->buffers.weOwnKey = 1;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
ssl->buffers.key = ctx->privateKey;
|
||||||
|
}
|
||||||
#else
|
#else
|
||||||
ssl->buffers.key = ctx->privateKey;
|
ssl->buffers.key = ctx->privateKey;
|
||||||
#endif
|
#endif
|
||||||
|
16
src/ssl.c
16
src/ssl.c
@ -20411,10 +20411,18 @@ WOLFSSL_CTX* wolfSSL_set_SSL_CTX(WOLFSSL* ssl, WOLFSSL_CTX* ctx)
|
|||||||
#endif
|
#endif
|
||||||
#ifndef WOLFSSL_BLIND_PRIVATE_KEY
|
#ifndef WOLFSSL_BLIND_PRIVATE_KEY
|
||||||
#ifdef WOLFSSL_COPY_KEY
|
#ifdef WOLFSSL_COPY_KEY
|
||||||
AllocCopyDer(&ssl->buffers.key, ctx->privateKey->buffer,
|
if (ctx->privateKey != NULL) {
|
||||||
ctx->privateKey->length, ctx->privateKey->type,
|
if (ssl->buffers.key != NULL) {
|
||||||
ctx->privateKey->heap);
|
FreeDer(&ssl->buffers.key);
|
||||||
ssl->buffers.weOwnKey = 1;
|
}
|
||||||
|
AllocCopyDer(&ssl->buffers.key, ctx->privateKey->buffer,
|
||||||
|
ctx->privateKey->length, ctx->privateKey->type,
|
||||||
|
ctx->privateKey->heap);
|
||||||
|
ssl->buffers.weOwnKey = 1;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
ssl->buffers.key = ctx->privateKey;
|
||||||
|
}
|
||||||
#else
|
#else
|
||||||
ssl->buffers.key = ctx->privateKey;
|
ssl->buffers.key = ctx->privateKey;
|
||||||
#endif
|
#endif
|
||||||
|
Reference in New Issue
Block a user