aboutsummaryrefslogtreecommitdiffstats
path: root/g10/mainproc.c
diff options
context:
space:
mode:
Diffstat (limited to 'g10/mainproc.c')
-rw-r--r--g10/mainproc.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/g10/mainproc.c b/g10/mainproc.c
index 043b34f62..d2e00514f 100644
--- a/g10/mainproc.c
+++ b/g10/mainproc.c
@@ -781,9 +781,13 @@ proc_encrypted (CTX c, PACKET *pkt)
compliance_de_vs |= 2;
}
- /* Trigger the deferred error. */
+ /* Trigger the deferred error. The second condition makes sure that a
+ * log_error printed in the cry_cipher_checktag never gets ignored. */
if (!result && early_plaintext)
result = gpg_error (GPG_ERR_BAD_DATA);
+ else if (!result && pkt->pkt.encrypted->aead_algo
+ && log_get_errorcount (0))
+ result = gpg_error (GPG_ERR_BAD_SIGNATURE);
if (result == -1)
;