forked from wolfSSL/wolfssl
coverity: fix error, and cleanup.
This commit is contained in:
@@ -13587,21 +13587,28 @@ static int ProcessCSR_ex(WOLFSSL* ssl, byte* input, word32* inOutIdx,
|
||||
|
||||
#ifdef WOLFSSL_SMALL_STACK
|
||||
status = (CertStatus*)XMALLOC(sizeof(CertStatus), ssl->heap,
|
||||
DYNAMIC_TYPE_OCSP_STATUS);
|
||||
DYNAMIC_TYPE_OCSP_STATUS);
|
||||
single = (OcspEntry*)XMALLOC(sizeof(OcspEntry), ssl->heap,
|
||||
DYNAMIC_TYPE_OCSP_ENTRY);
|
||||
DYNAMIC_TYPE_OCSP_ENTRY);
|
||||
response = (OcspResponse*)XMALLOC(sizeof(OcspResponse), ssl->heap,
|
||||
DYNAMIC_TYPE_OCSP_REQUEST);
|
||||
DYNAMIC_TYPE_OCSP_REQUEST);
|
||||
|
||||
if (status == NULL || single == NULL || response == NULL) {
|
||||
XFREE(status, ssl->heap, DYNAMIC_TYPE_OCSP_STATUS);
|
||||
XFREE(single, ssl->heap, DYNAMIC_TYPE_OCSP_ENTRY);
|
||||
XFREE(response, ssl->heap, DYNAMIC_TYPE_OCSP_REQUEST);
|
||||
if (status != NULL) {
|
||||
XFREE(status, ssl->heap, DYNAMIC_TYPE_OCSP_STATUS);
|
||||
}
|
||||
if (single != NULL) {
|
||||
XFREE(single, ssl->heap, DYNAMIC_TYPE_OCSP_ENTRY);
|
||||
}
|
||||
if (response != NULL) {
|
||||
XFREE(response, ssl->heap, DYNAMIC_TYPE_OCSP_REQUEST);
|
||||
}
|
||||
|
||||
return MEMORY_ERROR;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* InitOcspResponse sets single and status to response struct. */
|
||||
InitOcspResponse(response, single, status, input +*inOutIdx, status_length, ssl->heap);
|
||||
|
||||
if (OcspResponseDecode(response, SSL_CM(ssl), ssl->heap, 0) != 0)
|
||||
@@ -13622,12 +13629,14 @@ static int ProcessCSR_ex(WOLFSSL* ssl, byte* input, word32* inOutIdx,
|
||||
|
||||
*inOutIdx += status_length;
|
||||
|
||||
/* FreeOcspResponse frees status and single only if
|
||||
* single->isDynamic is set. */
|
||||
FreeOcspResponse(response);
|
||||
|
||||
#ifdef WOLFSSL_SMALL_STACK
|
||||
XFREE(status, ssl->heap, DYNAMIC_TYPE_OCSP_STATUS);
|
||||
XFREE(single, ssl->heap, DYNAMIC_TYPE_OCSP_ENTRY);
|
||||
XFREE(response, ssl->heap, DYNAMIC_TYPE_OCSP_REQUEST);
|
||||
XFREE(status, ssl->heap, DYNAMIC_TYPE_OCSP_STATUS);
|
||||
XFREE(single, ssl->heap, DYNAMIC_TYPE_OCSP_ENTRY);
|
||||
XFREE(response, ssl->heap, DYNAMIC_TYPE_OCSP_REQUEST);
|
||||
#endif
|
||||
|
||||
WOLFSSL_LEAVE("ProcessCSR", ret);
|
||||
|
@@ -12429,8 +12429,10 @@ static int _sp_invmod_div(const sp_int* a, const sp_int* m, sp_int* x,
|
||||
|
||||
ALLOC_SP_INT(d, m->used + 1, err, NULL);
|
||||
if (err == MP_OKAY) {
|
||||
sp_init_size(d, m->used + 1);
|
||||
err = sp_init_size(d, m->used + 1);
|
||||
}
|
||||
|
||||
if (err == MP_OKAY) {
|
||||
/* 1. x = m, y = a, b = 1, c = 0 */
|
||||
if (a != y) {
|
||||
_sp_copy(a, y);
|
||||
|
Reference in New Issue
Block a user