From 6aecdf59c1447dc8371d57b9043ea61bb1bbc1da Mon Sep 17 00:00:00 2001 From: David Garske Date: Thu, 19 Sep 2019 12:30:05 -0700 Subject: [PATCH] Fixes for async build and tests. --- examples/client/client.c | 2 +- tests/api.c | 2 +- wolfcrypt/test/test.c | 12 ++++++++++++ wolfssl/openssl/aes.h | 3 +++ 4 files changed, 17 insertions(+), 2 deletions(-) diff --git a/examples/client/client.c b/examples/client/client.c index 33f28f061..3218e4509 100644 --- a/examples/client/client.c +++ b/examples/client/client.c @@ -3091,7 +3091,7 @@ THREAD_RETURN WOLFSSL_THREAD client_test(void* args) #if defined(OPENSSL_EXTRA) && defined(HAVE_EXT_CACHE) if (flatSession) { - XFREE(flatSession, heap, DYNAMIC_TYPE_TMP_BUFFER); + XFREE(flatSession, NULL, DYNAMIC_TYPE_TMP_BUFFER); wolfSSL_SESSION_free(session); } #endif diff --git a/tests/api.c b/tests/api.c index b6c221d0e..878285d3f 100644 --- a/tests/api.c +++ b/tests/api.c @@ -22279,7 +22279,7 @@ static void test_wolfSSL_d2i_PrivateKeys_bio(void) AssertIntEQ(wolfSSL_i2d_RSAPrivateKey(rsa, &bufPtr), sizeof_client_key_der_2048); AssertNotNull(bufPtr); - free(bufPtr); + XFREE(bufPtr, NULL, DYNAMIC_TYPE_OPENSSL); #endif /* USE_CERT_BUFFERS_2048 WOLFSSL_KEY_GEN */ RSA_free(rsa); #endif /* NO_RSA */ diff --git a/wolfcrypt/test/test.c b/wolfcrypt/test/test.c index b797388ff..acfdcad23 100644 --- a/wolfcrypt/test/test.c +++ b/wolfcrypt/test/test.c @@ -12980,21 +12980,33 @@ static int dh_test_ffdhe(WC_RNG *rng, const DhParams* params) } ret = wc_DhGenerateKeyPair(&key, rng, priv, &privSz, pub, &pubSz); +#if defined(WOLFSSL_ASYNC_CRYPT) + ret = wc_AsyncWait(ret, &key.asyncDev, WC_ASYNC_FLAG_NONE); +#endif if (ret != 0) { ERROR_OUT(-7184, done); } ret = wc_DhGenerateKeyPair(&key2, rng, priv2, &privSz2, pub2, &pubSz2); +#if defined(WOLFSSL_ASYNC_CRYPT) + ret = wc_AsyncWait(ret, &key2.asyncDev, WC_ASYNC_FLAG_NONE); +#endif if (ret != 0) { ERROR_OUT(-7185, done); } ret = wc_DhAgree(&key, agree, &agreeSz, priv, privSz, pub2, pubSz2); +#if defined(WOLFSSL_ASYNC_CRYPT) + ret = wc_AsyncWait(ret, &key.asyncDev, WC_ASYNC_FLAG_NONE); +#endif if (ret != 0) { ERROR_OUT(-7186, done); } ret = wc_DhAgree(&key2, agree2, &agreeSz2, priv2, privSz2, pub, pubSz); +#if defined(WOLFSSL_ASYNC_CRYPT) + ret = wc_AsyncWait(ret, &key2.asyncDev, WC_ASYNC_FLAG_NONE); +#endif if (ret != 0) { ERROR_OUT(-7187, done); } diff --git a/wolfssl/openssl/aes.h b/wolfssl/openssl/aes.h index 3104bb2e4..db0d8ddf5 100644 --- a/wolfssl/openssl/aes.h +++ b/wolfssl/openssl/aes.h @@ -59,6 +59,9 @@ typedef struct WOLFSSL_AES_KEY { #ifdef HAVE_PKCS11 void* pkcs11_holder[(AES_MAX_ID_LEN + sizeof(int)) / sizeof(void*)]; #endif + #ifdef WOLFSSL_ASYNC_CRYPT + void* async_holder[128 / sizeof(void*)]; + #endif } WOLFSSL_AES_KEY; typedef WOLFSSL_AES_KEY AES_KEY;