forked from wolfSSL/wolfssl
fix for smallstack buffer size
This commit is contained in:
12
src/ssl.c
12
src/ssl.c
@@ -4904,18 +4904,18 @@ int PemToDer(const unsigned char* buff, long longSz, int type,
|
|||||||
#ifdef WOLFSSL_SMALL_STACK
|
#ifdef WOLFSSL_SMALL_STACK
|
||||||
char* password = NULL;
|
char* password = NULL;
|
||||||
#else
|
#else
|
||||||
char password[80];
|
char password[NAME_SZ];
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (!info || !info->ctx || !info->ctx->passwd_cb)
|
if (!info || !info->ctx || !info->ctx->passwd_cb)
|
||||||
return WOLFSSL_BAD_FILE; /* no callback error */
|
return WOLFSSL_BAD_FILE; /* no callback error */
|
||||||
|
|
||||||
#ifdef WOLFSSL_SMALL_STACK
|
#ifdef WOLFSSL_SMALL_STACK
|
||||||
password = (char*)XMALLOC(80, heap, DYNAMIC_TYPE_STRING);
|
password = (char*)XMALLOC(NAME_SZ, heap, DYNAMIC_TYPE_STRING);
|
||||||
if (password == NULL)
|
if (password == NULL)
|
||||||
return MEMORY_E;
|
return MEMORY_E;
|
||||||
#endif
|
#endif
|
||||||
passwordSz = info->ctx->passwd_cb(password, sizeof(password), 0,
|
passwordSz = info->ctx->passwd_cb(password, NAME_SZ, 0,
|
||||||
info->ctx->userdata);
|
info->ctx->userdata);
|
||||||
/* convert and adjust length */
|
/* convert and adjust length */
|
||||||
if (header == BEGIN_ENC_PRIV_KEY) {
|
if (header == BEGIN_ENC_PRIV_KEY) {
|
||||||
@@ -5180,11 +5180,11 @@ int ProcessBuffer(WOLFSSL_CTX* ctx, const unsigned char* buff,
|
|||||||
#ifdef WOLFSSL_SMALL_STACK
|
#ifdef WOLFSSL_SMALL_STACK
|
||||||
char* password = NULL;
|
char* password = NULL;
|
||||||
#else
|
#else
|
||||||
char password[80];
|
char password[NAME_SZ];
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef WOLFSSL_SMALL_STACK
|
#ifdef WOLFSSL_SMALL_STACK
|
||||||
password = (char*)XMALLOC(80, heap, DYNAMIC_TYPE_STRING);
|
password = (char*)XMALLOC(NAME_SZ, heap, DYNAMIC_TYPE_STRING);
|
||||||
if (password == NULL)
|
if (password == NULL)
|
||||||
ret = MEMORY_E;
|
ret = MEMORY_E;
|
||||||
else
|
else
|
||||||
@@ -5193,7 +5193,7 @@ int ProcessBuffer(WOLFSSL_CTX* ctx, const unsigned char* buff,
|
|||||||
ret = NO_PASSWORD;
|
ret = NO_PASSWORD;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
passwordSz = ctx->passwd_cb(password, sizeof(password),
|
passwordSz = ctx->passwd_cb(password, NAME_SZ,
|
||||||
0, ctx->userdata);
|
0, ctx->userdata);
|
||||||
|
|
||||||
/* decrypt the key */
|
/* decrypt the key */
|
||||||
|
Reference in New Issue
Block a user