aboutsummaryrefslogtreecommitdiffstats
path: root/g10/mainproc.c
diff options
context:
space:
mode:
authorJussi Kivilinna <[email protected]>2018-12-01 11:43:10 +0000
committerJussi Kivilinna <[email protected]>2018-12-01 11:43:10 +0000
commit73e74de0e33bbb76300f96a4174024779047df06 (patch)
tree828c3b212a1c41488a8a420ded0fc84455bf2585 /g10/mainproc.c
parentcommon/iobuf: fix memory wiping in iobuf_copy (diff)
downloadgnupg-73e74de0e33bbb76300f96a4174024779047df06.tar.gz
gnupg-73e74de0e33bbb76300f96a4174024779047df06.zip
g10/mainproc: disable hash contexts when --skip-verify is used
* g10/mainproc.c (proc_plaintext): Do not enable hash contexts when opt.skip_verify is set. -- Signed-off-by: Jussi Kivilinna <[email protected]>
Diffstat (limited to '')
-rw-r--r--g10/mainproc.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/g10/mainproc.c b/g10/mainproc.c
index 7eceb7e0b..dce3f3799 100644
--- a/g10/mainproc.c
+++ b/g10/mainproc.c
@@ -862,7 +862,10 @@ proc_plaintext( CTX c, PACKET *pkt )
/* The onepass signature case. */
if (n->pkt->pkt.onepass_sig->digest_algo)
{
- gcry_md_enable (c->mfx.md, n->pkt->pkt.onepass_sig->digest_algo);
+ if (!opt.skip_verify)
+ gcry_md_enable (c->mfx.md,
+ n->pkt->pkt.onepass_sig->digest_algo);
+
any = 1;
}
}
@@ -880,7 +883,8 @@ proc_plaintext( CTX c, PACKET *pkt )
* documents. */
clearsig = (*data == 0x01);
for (data++, datalen--; datalen; datalen--, data++)
- gcry_md_enable (c->mfx.md, *data);
+ if (!opt.skip_verify)
+ gcry_md_enable (c->mfx.md, *data);
any = 1;
break; /* Stop here as one-pass signature packets are not
expected. */
@@ -888,7 +892,8 @@ proc_plaintext( CTX c, PACKET *pkt )
else if (n->pkt->pkttype == PKT_SIGNATURE)
{
/* The SIG+LITERAL case that PGP used to use. */
- gcry_md_enable ( c->mfx.md, n->pkt->pkt.signature->digest_algo );
+ if (!opt.skip_verify)
+ gcry_md_enable (c->mfx.md, n->pkt->pkt.signature->digest_algo);
any = 1;
}
}