Add safety for NULL tag being passed to finish

Signed-off-by: Paul Elliott <paul.elliott@arm.com>
This commit is contained in:
Paul Elliott 2021-09-19 22:33:09 +01:00
parent 8ff74217e4
commit ec95cc9489

View file

@ -3760,10 +3760,13 @@ exit:
* Even if the operation succeeds, make sure we clear the rest of the * Even if the operation succeeds, make sure we clear the rest of the
* buffer to prevent potential leakage of anything previously placed in * buffer to prevent potential leakage of anything previously placed in
* the same buffer.*/ * the same buffer.*/
if( status != PSA_SUCCESS ) if( tag )
memset( tag, '!', tag_size ); {
else if( *tag_length < tag_size ) if( status != PSA_SUCCESS )
memset( tag + *tag_length, '!', ( tag_size - *tag_length ) ); memset( tag, '!', tag_size );
else if( *tag_length < tag_size )
memset( tag + *tag_length, '!', ( tag_size - *tag_length ) );
}
psa_aead_abort( operation ); psa_aead_abort( operation );