diff --git a/tests/api.c b/tests/api.c index 70b5a58bd..dc33129a9 100644 --- a/tests/api.c +++ b/tests/api.c @@ -7671,6 +7671,9 @@ static int test_wc_Poly1305SetKey(void) /* Test bad args. */ if (ret == 0) { ret = wc_Poly1305SetKey(NULL, key, (word32)(sizeof(key)/sizeof(byte))); + if(ret == BAD_FUNC_ARG) { + ret = wc_Poly1305SetKey(&ctx, NULL, (word32)(sizeof(key)/sizeof(byte))); + } if (ret == BAD_FUNC_ARG) { ret = wc_Poly1305SetKey(&ctx, key, 18); } diff --git a/wolfcrypt/src/poly1305.c b/wolfcrypt/src/poly1305.c index 4fcc712f0..e54d7cf98 100644 --- a/wolfcrypt/src/poly1305.c +++ b/wolfcrypt/src/poly1305.c @@ -1222,7 +1222,7 @@ int wc_Poly1305SetKey(Poly1305* ctx, const byte* key, word32 keySz) printf("\n"); #endif - if (keySz != 32 || ctx == NULL) + if (keySz != 32 || ctx == NULL || key == NULL) return BAD_FUNC_ARG; #ifdef USE_INTEL_SPEEDUP