Merge pull request #8703 from lealem47/zd19592

Attempt wolfssl_read_bio_file in read_bio even when XFSEEK is available
This commit is contained in:
David Garske
2025-05-06 14:42:19 -07:00
committed by GitHub
3 changed files with 5 additions and 12 deletions

View File

@ -744,7 +744,6 @@ WOLFSSL_NO_DH_GEN_PUB
WOLFSSL_NO_DTLS_SIZE_CHECK
WOLFSSL_NO_ETM_ALERT
WOLFSSL_NO_FENCE
WOLFSSL_NO_FSEEK
WOLFSSL_NO_INIT_CTX_KEY
WOLFSSL_NO_ISSUERHASH_TDPEER
WOLFSSL_NO_KCAPI_AES_CBC

View File

@ -30,7 +30,6 @@
#if defined(OPENSSL_EXTRA) && !defined(WOLFCRYPT_ONLY)
#ifndef NO_BIO
#ifdef WOLFSSL_NO_FSEEK
/* Amount of memory to allocate/add. */
#define READ_BIO_FILE_CHUNK 128
@ -109,7 +108,6 @@ static int wolfssl_read_bio_file(WOLFSSL_BIO* bio, char** data)
*data = mem;
return ret;
}
#endif
/* Read exactly the required amount into a newly allocated buffer.
*
@ -171,15 +169,7 @@ static int wolfssl_read_bio(WOLFSSL_BIO* bio, char** data, int* dataSz,
}
*memAlloced = 0;
}
#ifndef WOLFSSL_NO_FSEEK
/* Get pending or, when a file BIO, get length of file. */
else if ((sz = wolfSSL_BIO_get_len(bio)) > 0) {
ret = wolfssl_read_bio_len(bio, sz, data);
if (ret > 0) {
*memAlloced = 1;
}
}
#else
else if ((sz = wolfSSL_BIO_pending(bio)) > 0) {
ret = wolfssl_read_bio_len(bio, sz, data);
if (ret > 0) {
@ -192,7 +182,6 @@ static int wolfssl_read_bio(WOLFSSL_BIO* bio, char** data, int* dataSz,
*memAlloced = 1;
}
}
#endif
else {
WOLFSSL_ERROR_MSG("No data read from bio");
*memAlloced = 0;

View File

@ -8310,11 +8310,16 @@ int wc_CreatePKCS8Key(byte* out, word32* outSz, byte* key, word32 keySz,
ret = BAD_FUNC_ARG;
}
#ifndef WOLFSSL_NO_ASN_STRICT
/* Sanity check: make sure key doesn't have PKCS #8 header. */
if (ToTraditionalInline_ex(key, &keyIdx, keySz, &tmpAlgId) >= 0) {
(void)tmpAlgId;
ret = ASN_PARSE_E;
}
#else
(void)keyIdx;
(void)tmpAlgId;
#endif
CALLOC_ASNSETDATA(dataASN, pkcs8KeyASN_Length-1, ret, NULL);