Merge pull request #5497 from douzzer/20220823-fixits

20220823-fixits
This commit is contained in:
David Garske
2022-08-23 13:45:02 -07:00
committed by GitHub
2 changed files with 22 additions and 24 deletions

View File

@@ -35019,46 +35019,44 @@ static int ParseCRL_Extensions(DecodedCRL* dcrl, const byte* buf,
} }
else { else {
if (length > 1) { if (length > 1) {
#ifdef WOLFSSL_SMALL_STACK
mp_int* m;
#else
mp_int m[1];
#endif
int i; int i;
#ifdef WOLFSSL_SMALL_STACK #ifdef WOLFSSL_SMALL_STACK
m = (mp_int*)XMALLOC(sizeof(*m), NULL, mp_int* m = (mp_int*)XMALLOC(sizeof(*m), NULL,
DYNAMIC_TYPE_BIGINT); DYNAMIC_TYPE_BIGINT);
if (m == NULL) { if (m == NULL) {
return MEMORY_E; return MEMORY_E;
} }
#else
mp_int m[1];
#endif #endif
if (mp_init(m) != MP_OKAY) { if (mp_init(m) != MP_OKAY) {
return MP_INIT_E; ret = MP_INIT_E;
} }
ret = mp_read_unsigned_bin(m, buf + idx, length); if (ret == 0)
if (ret != MP_OKAY) { ret = mp_read_unsigned_bin(m, buf + idx, length);
mp_free(m); if (ret != MP_OKAY)
#ifdef WOLFSSL_SMALL_STACK ret = BUFFER_E;
XFREE(m, NULL, DYNAMIC_TYPE_BIGINT);
#endif
return BUFFER_E;
}
dcrl->crlNumber = 0; if (ret == 0) {
for (i = 0; i < (*m).used; ++i) { dcrl->crlNumber = 0;
if (i > (int)sizeof(word32)) { for (i = 0; i < (*m).used; ++i) {
if (i > (int)sizeof(word32)) {
break; break;
}
dcrl->crlNumber |= ((word32)(*m).dp[i]) <<
(DIGIT_BIT * i);
} }
dcrl->crlNumber |= ((word32)(*m).dp[i]) <<
(DIGIT_BIT * i);
} }
mp_free(m);
#ifdef WOLFSSL_SMALL_STACK #ifdef WOLFSSL_SMALL_STACK
XFREE(m, NULL, DYNAMIC_TYPE_BIGINT); XFREE(m, NULL, DYNAMIC_TYPE_BIGINT);
#endif #endif
mp_free(m);
if (ret != 0)
return ret;
} }
else { else {
dcrl->crlNumber = buf[idx]; dcrl->crlNumber = buf[idx];

View File

@@ -204,9 +204,9 @@ WOLFSSL_API void wolfSSL_Debugging_OFF(void);
OPENSSL_EXTRA */ OPENSSL_EXTRA */
#ifdef WOLFSSL_VERBOSE_ERRORS #ifdef WOLFSSL_VERBOSE_ERRORS
#define WOLFSSL_ERROR_VERBOSE WOLFSSL_ERROR #define WOLFSSL_ERROR_VERBOSE(e) WOLFSSL_ERROR(e)
#else #else
#define WOLFSSL_ERROR_VERBOSE(e) #define WOLFSSL_ERROR_VERBOSE(e) (void)(e)
#endif /* WOLFSSL_VERBOSE_ERRORS */ #endif /* WOLFSSL_VERBOSE_ERRORS */
#ifdef HAVE_STACK_SIZE_VERBOSE #ifdef HAVE_STACK_SIZE_VERBOSE