@@ -2596,6 +2596,12 @@ static int wc_PKCS7_EncodeContentStream(PKCS7* pkcs7, ESD* esd, void* aes,
25962596 {
25972597 int szLeft = BER_OCTET_LENGTH ;
25982598
2599+ if (in == NULL ) {
2600+ XFREE (encContentOut , heap , DYNAMIC_TYPE_PKCS7 );
2601+ XFREE (contentData , heap , DYNAMIC_TYPE_PKCS7 );
2602+ return BAD_FUNC_ARG ;
2603+ }
2604+
25992605 if (szLeft + totalSz > (word32 )inSz )
26002606 szLeft = inSz - totalSz ;
26012607
@@ -2669,6 +2675,10 @@ static int wc_PKCS7_EncodeContentStream(PKCS7* pkcs7, ESD* esd, void* aes,
26692675 XFREE (contentData , heap , DYNAMIC_TYPE_PKCS7 );
26702676 }
26712677 else {
2678+ if (in == NULL || out == NULL ) {
2679+ return BAD_FUNC_ARG ;
2680+ }
2681+
26722682 switch (cipherType ) {
26732683 case WC_CIPHER_NONE :
26742684 if (!pkcs7 -> detached ) {
@@ -8168,12 +8178,15 @@ static int wc_PKCS7_EncryptContent(PKCS7* pkcs7, int encryptOID, byte* key,
81688178 WOLFSSL_MSG ("Not AES-GCM stream support compiled in" );
81698179 ret = NOT_COMPILED_IN ;
81708180 }
8171- ret = wc_AesGcmEncrypt (aes , out , in , inSz , iv , ivSz ,
8181+ else {
8182+ ret = wc_AesGcmEncrypt (aes , out , in , inSz , iv , ivSz ,
81728183 authTag , authTagSz , aad , aadSz );
8173- #ifdef WOLFSSL_ASYNC_CRYPT
8174- /* async encrypt not available here, so block till done */
8175- ret = wc_AsyncWait (ret , & aes -> asyncDev , WC_ASYNC_FLAG_NONE );
8176- #endif
8184+ #ifdef WOLFSSL_ASYNC_CRYPT
8185+ /* async encrypt not available here, so block till done */
8186+ ret = wc_AsyncWait (ret , & aes -> asyncDev ,
8187+ WC_ASYNC_FLAG_NONE );
8188+ #endif
8189+ }
81778190 #else
81788191 ret = wc_AesGcmEncryptInit (aes , key , keySz , iv , ivSz );
81798192 if (ret == 0 ) {
0 commit comments