forked from wolfSSL/wolfssl
src/internal.c: in ProcessReplyEx() in the verifyMessage case, refactor some gating/conditionalization around ATOMIC_USER, HAVE_ENCRYPT_THEN_MAC, atomicUser, and ssl->options.startedETMRead, to avoid "Logical disjunction always evaluates to true" from cppcheck incorrectLogicOperator (via multi-test cppcheck-force-source) (warned code introduced by 99a99e3d6e
).
This commit is contained in:
@ -21730,16 +21730,19 @@ default:
|
|||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
#ifdef HAVE_ENCRYPT_THEN_MAC
|
|
||||||
word16 startedETMRead = ssl->options.startedETMRead;
|
|
||||||
#else
|
|
||||||
word16 startedETMRead = 0;
|
|
||||||
#endif
|
|
||||||
/* With atomicUser the callback should have already included
|
/* With atomicUser the callback should have already included
|
||||||
* the mac in the padding size. The ETM callback doesn't do
|
* the mac in the padding size. The ETM callback doesn't do
|
||||||
* this for some reason. */
|
* this for some reason. */
|
||||||
if (ssl->specs.cipher_type != aead &&
|
if (ssl->specs.cipher_type != aead
|
||||||
(!atomicUser || startedETMRead)) {
|
#ifdef ATOMIC_USER
|
||||||
|
&& (!atomicUser
|
||||||
|
#ifdef HAVE_ENCRYPT_THEN_MAC
|
||||||
|
|| ssl->options.startedETMRead
|
||||||
|
#endif /* HAVE_ENCRYPT_THEN_MAC */
|
||||||
|
)
|
||||||
|
#endif /* !ATOMIC_USER */
|
||||||
|
)
|
||||||
|
{
|
||||||
/* consider MAC as padding */
|
/* consider MAC as padding */
|
||||||
ssl->keys.padSz += MacSize(ssl);
|
ssl->keys.padSz += MacSize(ssl);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user