forked from wolfSSL/wolfssl
@@ -35019,33 +35019,27 @@ 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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (ret == 0)
|
||||||
ret = mp_read_unsigned_bin(m, buf + idx, length);
|
ret = mp_read_unsigned_bin(m, buf + idx, length);
|
||||||
if (ret != MP_OKAY) {
|
if (ret != MP_OKAY)
|
||||||
mp_free(m);
|
ret = BUFFER_E;
|
||||||
#ifdef WOLFSSL_SMALL_STACK
|
|
||||||
XFREE(m, NULL, DYNAMIC_TYPE_BIGINT);
|
|
||||||
#endif
|
|
||||||
return BUFFER_E;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
if (ret == 0) {
|
||||||
dcrl->crlNumber = 0;
|
dcrl->crlNumber = 0;
|
||||||
for (i = 0; i < (*m).used; ++i) {
|
for (i = 0; i < (*m).used; ++i) {
|
||||||
if (i > (int)sizeof(word32)) {
|
if (i > (int)sizeof(word32)) {
|
||||||
@@ -35054,11 +35048,15 @@ static int ParseCRL_Extensions(DecodedCRL* dcrl, const byte* buf,
|
|||||||
dcrl->crlNumber |= ((word32)(*m).dp[i]) <<
|
dcrl->crlNumber |= ((word32)(*m).dp[i]) <<
|
||||||
(DIGIT_BIT * 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];
|
||||||
|
@@ -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
|
||||||
|
Reference in New Issue
Block a user