diff --git a/wolfcrypt/src/port/kcapi/kcapi_aes.c b/wolfcrypt/src/port/kcapi/kcapi_aes.c index 83c2ffb28..32c6d52bb 100644 --- a/wolfcrypt/src/port/kcapi/kcapi_aes.c +++ b/wolfcrypt/src/port/kcapi/kcapi_aes.c @@ -241,7 +241,9 @@ int wc_AesGcmEncrypt(Aes* aes, byte* out, const byte* in, word32 sz, #endif /* argument checks */ - if (aes == NULL || authTagSz > AES_BLOCK_SIZE) { + if ((aes == NULL) || ((sz != 0 && (in == NULL || out == NULL))) || + (iv == NULL) || ((authTag == NULL) && (authTagSz > 0)) || + (authTagSz > AES_BLOCK_SIZE) || ((authIn == NULL) && (authInSz > 0))) { ret = BAD_FUNC_ARG; } @@ -352,8 +354,9 @@ int wc_AesGcmDecrypt(Aes* aes, byte* out, const byte* in, word32 sz, #endif /* argument checks */ - if (aes == NULL || (sz != 0 && (in == NULL || out == NULL)) || - authTagSz > AES_BLOCK_SIZE) { + if ((aes == NULL) || ((sz != 0 && (in == NULL || out == NULL))) || + (iv == NULL) || ((authTag == NULL) && (authTagSz > 0)) || + (authTagSz > AES_BLOCK_SIZE) || ((authIn == NULL) && (authInSz > 0))) { ret = BAD_FUNC_ARG; }