Merge pull request #5118 from douzzer/20220405-declaration-after-statement

20220405 declaration after statement
This commit is contained in:
David Garske
2022-05-06 16:16:52 -07:00
committed by GitHub
7 changed files with 60 additions and 31 deletions

View File

@ -5482,6 +5482,11 @@ int wolfSSL_X509_cmp(const WOLFSSL_X509 *a, const WOLFSSL_X509 *b)
}
#else
{
word32 idx = 0;
int sz;
byte lbit = 0;
int rawLen;
unsigned char* rawKey;
#ifdef WOLFSSL_SMALL_STACK
RsaKey *rsa = (RsaKey*)XMALLOC(sizeof(RsaKey), NULL,
DYNAMIC_TYPE_RSA);
@ -5492,11 +5497,6 @@ int wolfSSL_X509_cmp(const WOLFSSL_X509 *a, const WOLFSSL_X509 *b)
#else
RsaKey rsa[1];
#endif
word32 idx = 0;
int sz;
byte lbit = 0;
int rawLen;
unsigned char* rawKey;
if (wc_InitRsaKey(rsa, NULL) != 0) {
WOLFSSL_MSG("wc_InitRsaKey failure");

View File

@ -900,7 +900,7 @@ int main(int argc, char** argv)
(void)chainSz;
#endif
}
/* check if we are done reading file */
if (packet == NULL && data == NULL && saveFile) {
break;

View File

@ -3648,6 +3648,7 @@ void bench_md5(int useDeviceID)
double start;
int ret = 0, i, count = 0, times, pending = 0;
WC_DECLARE_ARRAY(digest, byte, BENCH_MAX_PENDING, WC_MD5_DIGEST_SIZE, HEAP_HINT);
WC_INIT_ARRAY(digest, byte, BENCH_MAX_PENDING, WC_MD5_DIGEST_SIZE, HEAP_HINT);
/* clear for done cleanup */
XMEMSET(hash, 0, sizeof(hash));
@ -3741,6 +3742,7 @@ void bench_sha(int useDeviceID)
double start;
int ret = 0, i, count = 0, times, pending = 0;
WC_DECLARE_ARRAY(digest, byte, BENCH_MAX_PENDING, WC_SHA_DIGEST_SIZE, HEAP_HINT);
WC_INIT_ARRAY(digest, byte, BENCH_MAX_PENDING, WC_SHA_DIGEST_SIZE, HEAP_HINT);
/* clear for done cleanup */
XMEMSET(hash, 0, sizeof(hash));
@ -3832,6 +3834,7 @@ void bench_sha224(int useDeviceID)
double start;
int ret = 0, i, count = 0, times, pending = 0;
WC_DECLARE_ARRAY(digest, byte, BENCH_MAX_PENDING, WC_SHA224_DIGEST_SIZE, HEAP_HINT);
WC_INIT_ARRAY(digest, byte, BENCH_MAX_PENDING, WC_SHA224_DIGEST_SIZE, HEAP_HINT);
/* clear for done cleanup */
XMEMSET(hash, 0, sizeof(hash));
@ -3918,6 +3921,7 @@ void bench_sha256(int useDeviceID)
double start;
int ret = 0, i, count = 0, times, pending = 0;
WC_DECLARE_ARRAY(digest, byte, BENCH_MAX_PENDING, WC_SHA256_DIGEST_SIZE, HEAP_HINT);
WC_INIT_ARRAY(digest, byte, BENCH_MAX_PENDING, WC_SHA256_DIGEST_SIZE, HEAP_HINT);
/* clear for done cleanup */
XMEMSET(hash, 0, sizeof(hash));
@ -4007,6 +4011,7 @@ void bench_sha384(int useDeviceID)
double start;
int ret = 0, i, count = 0, times, pending = 0;
WC_DECLARE_ARRAY(digest, byte, BENCH_MAX_PENDING, WC_SHA384_DIGEST_SIZE, HEAP_HINT);
WC_INIT_ARRAY(digest, byte, BENCH_MAX_PENDING, WC_SHA384_DIGEST_SIZE, HEAP_HINT);
/* clear for done cleanup */
XMEMSET(hash, 0, sizeof(hash));
@ -4093,6 +4098,7 @@ void bench_sha512(int useDeviceID)
double start;
int ret = 0, i, count = 0, times, pending = 0;
WC_DECLARE_ARRAY(digest, byte, BENCH_MAX_PENDING, WC_SHA512_DIGEST_SIZE, HEAP_HINT);
WC_INIT_ARRAY(digest, byte, BENCH_MAX_PENDING, WC_SHA512_DIGEST_SIZE, HEAP_HINT);
/* clear for done cleanup */
XMEMSET(hash, 0, sizeof(hash));
@ -4181,6 +4187,7 @@ void bench_sha3_224(int useDeviceID)
double start;
int ret = 0, i, count = 0, times, pending = 0;
WC_DECLARE_ARRAY(digest, byte, BENCH_MAX_PENDING, WC_SHA3_224_DIGEST_SIZE, HEAP_HINT);
WC_INIT_ARRAY(digest, byte, BENCH_MAX_PENDING, WC_SHA3_224_DIGEST_SIZE, HEAP_HINT);
/* clear for done cleanup */
XMEMSET(hash, 0, sizeof(hash));
@ -4267,6 +4274,7 @@ void bench_sha3_256(int useDeviceID)
double start;
int ret = 0, i, count = 0, times, pending = 0;
WC_DECLARE_ARRAY(digest, byte, BENCH_MAX_PENDING, WC_SHA3_256_DIGEST_SIZE, HEAP_HINT);
WC_INIT_ARRAY(digest, byte, BENCH_MAX_PENDING, WC_SHA3_256_DIGEST_SIZE, HEAP_HINT);
/* clear for done cleanup */
XMEMSET(hash, 0, sizeof(hash));
@ -4353,6 +4361,7 @@ void bench_sha3_384(int useDeviceID)
double start;
int ret = 0, i, count = 0, times, pending = 0;
WC_DECLARE_ARRAY(digest, byte, BENCH_MAX_PENDING, WC_SHA3_384_DIGEST_SIZE, HEAP_HINT);
WC_INIT_ARRAY(digest, byte, BENCH_MAX_PENDING, WC_SHA3_384_DIGEST_SIZE, HEAP_HINT);
/* clear for done cleanup */
XMEMSET(hash, 0, sizeof(hash));
@ -4439,6 +4448,7 @@ void bench_sha3_512(int useDeviceID)
double start;
int ret = 0, i, count = 0, times, pending = 0;
WC_DECLARE_ARRAY(digest, byte, BENCH_MAX_PENDING, WC_SHA3_512_DIGEST_SIZE, HEAP_HINT);
WC_INIT_ARRAY(digest, byte, BENCH_MAX_PENDING, WC_SHA3_512_DIGEST_SIZE, HEAP_HINT);
/* clear for done cleanup */
XMEMSET(hash, 0, sizeof(hash));
@ -4805,6 +4815,7 @@ static void bench_hmac(int useDeviceID, int type, int digestSz,
int ret = 0, i, count = 0, times, pending = 0;
#ifdef WOLFSSL_ASYNC_CRYPT
WC_DECLARE_ARRAY(digest, byte, BENCH_MAX_PENDING, WC_MAX_DIGEST_SIZE, HEAP_HINT);
WC_INIT_ARRAY(digest, byte, BENCH_MAX_PENDING, WC_MAX_DIGEST_SIZE, HEAP_HINT);
#else
byte digest[BENCH_MAX_PENDING][WC_MAX_DIGEST_SIZE];
#endif
@ -5619,6 +5630,11 @@ void bench_dh(int useDeviceID)
WC_DECLARE_ARRAY(agree, byte, BENCH_MAX_PENDING, BENCH_DH_KEY_SIZE, HEAP_HINT);
WC_DECLARE_ARRAY(priv, byte, BENCH_MAX_PENDING, BENCH_DH_PRIV_SIZE, HEAP_HINT);
WC_DECLARE_VAR(priv2, byte, BENCH_DH_PRIV_SIZE, HEAP_HINT);
WC_INIT_ARRAY(pub, byte, BENCH_MAX_PENDING, BENCH_DH_KEY_SIZE, HEAP_HINT);
WC_INIT_ARRAY(agree, byte, BENCH_MAX_PENDING, BENCH_DH_KEY_SIZE, HEAP_HINT);
WC_INIT_ARRAY(priv, byte, BENCH_MAX_PENDING, BENCH_DH_PRIV_SIZE, HEAP_HINT);
#ifdef WC_DECLARE_VAR_IS_HEAP_ALLOC
if (pub[0] == NULL || pub2 == NULL || agree[0] == NULL || priv[0] == NULL || priv2 == NULL) {
ret = MEMORY_E;
@ -5920,6 +5936,14 @@ void bench_ecc(int useDeviceID, int curveId)
WC_DECLARE_ARRAY(digest, byte, BENCH_MAX_PENDING, MAX_ECC_BYTES, HEAP_HINT);
#endif
#ifdef HAVE_ECC_DHE
WC_INIT_ARRAY(shared, byte, BENCH_MAX_PENDING, MAX_ECC_BYTES, HEAP_HINT);
#endif
#if !defined(NO_ASN) && defined(HAVE_ECC_SIGN)
WC_INIT_ARRAY(sig, byte, BENCH_MAX_PENDING, ECC_MAX_SIG_SIZE, HEAP_HINT);
WC_INIT_ARRAY(digest, byte, BENCH_MAX_PENDING, MAX_ECC_BYTES, HEAP_HINT);
#endif
#ifdef WOLFSSL_ASYNC_CRYPT
deviceID = useDeviceID ? devId : INVALID_DEVID;
#else

View File

@ -8246,7 +8246,9 @@ int WARN_UNUSED_RESULT AES_GCM_decrypt_C(
XMEMCPY(p, scratch, partial);
}
/* ConstantCompare returns cumulative or of the bytewise XOR. */
/* ConstantCompare returns the cumulative bitwise or of the bitwise xor of
* the pairwise bytes in the strings.
*/
res = ConstantCompare(authTag, Tprime, authTagSz);
/* convert positive retval from ConstantCompare() to all-1s word, in
* constant time.

View File

@ -271,7 +271,7 @@ static word32 SizeASNLength(word32 length)
* @param [in] cnt Number of elements required.
*/
#define DECL_ASNGETDATA(name, cnt) \
ASNGetData* name = NULL;
ASNGetData* name = NULL
/* Allocates the dynamic BER decoding data.
*
@ -327,7 +327,7 @@ static word32 SizeASNLength(word32 length)
* @param [in] cnt Number of elements required.
*/
#define DECL_ASNSETDATA(name, cnt) \
ASNSetData* name = NULL;
ASNSetData* name = NULL
/* Allocates the dynamic DER encoding data.
*
@ -383,7 +383,7 @@ static word32 SizeASNLength(word32 length)
* @param [in] cnt Number of elements required.
*/
#define DECL_ASNGETDATA(name, cnt) \
ASNGetData name[cnt];
ASNGetData name[cnt]
/* No implementation as declartion is static.
*
@ -402,7 +402,7 @@ static word32 SizeASNLength(word32 length)
* @param [in] heap Dynamic memory allocation hint.
*/
#define CALLOC_ASNGETDATA(name, cnt, err, heap) \
XMEMSET(name, 0, sizeof(name));
XMEMSET(name, 0, sizeof(name))
/* No implementation as declartion is static.
*
@ -417,7 +417,7 @@ static word32 SizeASNLength(word32 length)
* @param [in] cnt Number of elements required.
*/
#define DECL_ASNSETDATA(name, cnt) \
ASNSetData name[cnt];
ASNSetData name[cnt]
/* No implementation as declartion is static.
*
@ -436,7 +436,7 @@ static word32 SizeASNLength(word32 length)
* @param [in] heap Dynamic memory allocation hint.
*/
#define CALLOC_ASNSETDATA(name, cnt, err, heap) \
XMEMSET(name, 0, sizeof(name));
XMEMSET(name, 0, sizeof(name))
/* No implementation as declartion is static.
*
@ -28634,7 +28634,9 @@ static int DecodeAsymKey(const byte* input, word32* inOutIdx, word32 inSz,
const byte* priv;
const byte* pub;
#else
int ret = 0;
DECL_ASNGETDATA(dataASN, edKeyASN_Length);
CALLOC_ASNGETDATA(dataASN, edKeyASN_Length, ret, NULL);
#endif
if (input == NULL || inOutIdx == NULL || inSz == 0 ||
@ -28714,10 +28716,6 @@ static int DecodeAsymKey(const byte* input, word32* inOutIdx, word32 inSz,
return ASN_PARSE_E;
return 0;
#else
int ret = 0;
CALLOC_ASNGETDATA(dataASN, edKeyASN_Length, ret, NULL);
if (ret == 0) {
/* Require OID. */
word32 oidSz;

View File

@ -15740,7 +15740,7 @@ static int dh_fips_generate_test(WC_RNG *rng)
{
int ret = 0;
#ifdef WOLFSSL_SMALL_STACK
DhKey *key = (DhKey *)XMALLOC(sizeof *key, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);;
DhKey *key = (DhKey *)XMALLOC(sizeof *key, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
#else
DhKey key[1];
#endif
@ -19570,20 +19570,22 @@ WOLFSSL_TEST_SUBROUTINE int openssl_pkey1_test(void)
sizeof_client_cert_der_4096, SSL_FILETYPE_ASN1);
keyLenBits = 4096;
#else
XFILE f;
{
XFILE f;
f = XFOPEN(clientKey, "rb");
f = XFOPEN(clientKey, "rb");
if (!f) {
err_sys("can't open ./certs/client-key.der, "
"Please run from wolfSSL home dir", -41);
ret = -9000;
goto openssl_pkey1_test_done;
if (!f) {
err_sys("can't open ./certs/client-key.der, "
"Please run from wolfSSL home dir", -41);
ret = -9000;
goto openssl_pkey1_test_done;
}
cliKeySz = (long)XFREAD(tmp, 1, FOURK_BUF, f);
XFCLOSE(f);
}
cliKeySz = (long)XFREAD(tmp, 1, FOURK_BUF, f);
XFCLOSE(f);
/* using existing wolfSSL api to get public and private key */
x509 = wolfSSL_X509_load_certificate_file(clientCert, SSL_FILETYPE_ASN1);
#endif /* USE_CERT_BUFFERS */
@ -23360,7 +23362,7 @@ static int ecc_exp_imp_test(ecc_key* key)
int ret;
int curve_id;
#ifdef WOLFSSL_SMALL_STACK
ecc_key *keyImp = (ecc_key *)XMALLOC(sizeof *keyImp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);;
ecc_key *keyImp = (ecc_key *)XMALLOC(sizeof *keyImp, HEAP_HINT, DYNAMIC_TYPE_TMP_BUFFER);
#else
ecc_key keyImp[1];
#endif

View File

@ -515,7 +515,8 @@ decouple library dependencies with standard string, memory and so on.
VAR_TYPE* VAR_NAME = (VAR_TYPE*)XMALLOC(sizeof(VAR_TYPE) * (VAR_SIZE), (HEAP), DYNAMIC_TYPE_WOLF_BIGINT)
#define WC_DECLARE_ARRAY(VAR_NAME, VAR_TYPE, VAR_ITEMS, VAR_SIZE, HEAP) \
VAR_TYPE* VAR_NAME[VAR_ITEMS]; \
int idx##VAR_NAME, inner_idx_##VAR_NAME; \
int idx##VAR_NAME, inner_idx_##VAR_NAME
#define WC_INIT_ARRAY(VAR_NAME, VAR_TYPE, VAR_ITEMS, VAR_SIZE, HEAP) \
for (idx##VAR_NAME=0; idx##VAR_NAME<(VAR_ITEMS); idx##VAR_NAME++) { \
(VAR_NAME)[idx##VAR_NAME] = (VAR_TYPE*)XMALLOC(VAR_SIZE, (HEAP), DYNAMIC_TYPE_WOLF_BIGINT); \
if ((VAR_NAME)[idx##VAR_NAME] == NULL) { \
@ -538,7 +539,8 @@ decouple library dependencies with standard string, memory and so on.
#define WC_DECLARE_ARRAY_DYNAMIC_DEC(VAR_NAME, VAR_TYPE, VAR_ITEMS, VAR_SIZE, HEAP) \
WC_DECLARE_ARRAY(VAR_NAME, VAR_TYPE, VAR_ITEMS, VAR_SIZE, HEAP)
#define WC_DECLARE_ARRAY_DYNAMIC_EXE(VAR_NAME, VAR_TYPE, VAR_ITEMS, VAR_SIZE, HEAP)
#define WC_DECLARE_ARRAY_DYNAMIC_EXE(VAR_NAME, VAR_TYPE, VAR_ITEMS, VAR_SIZE, HEAP) \
WC_INIT_ARRAY(VAR_NAME, VAR_TYPE, VAR_ITEMS, VAR_SIZE, HEAP)
#define WC_FREE_ARRAY_DYNAMIC(VAR_NAME, VAR_ITEMS, HEAP) \
WC_FREE_ARRAY(VAR_NAME, VAR_ITEMS, HEAP)
#else
@ -547,6 +549,7 @@ decouple library dependencies with standard string, memory and so on.
VAR_TYPE VAR_NAME[VAR_SIZE]
#define WC_DECLARE_ARRAY(VAR_NAME, VAR_TYPE, VAR_ITEMS, VAR_SIZE, HEAP) \
VAR_TYPE VAR_NAME[VAR_ITEMS][VAR_SIZE]
#define WC_INIT_ARRAY(VAR_NAME, VAR_TYPE, VAR_ITEMS, VAR_SIZE, HEAP) do {} while(0)
#define WC_FREE_VAR(VAR_NAME, HEAP) /* nothing to free, its stack */
#define WC_FREE_ARRAY(VAR_NAME, VAR_ITEMS, HEAP) /* nothing to free, its stack */