[git] GnuPG - branch, master, updated. gnupg-2.1.21-23-gc03e0eb
by NIIBE Yutaka
cvs at cvs.gnupg.org
Wed May 31 11:46:06 CEST 2017
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "The GNU Privacy Guard".
The branch, master has been updated
via c03e0eb01dc4632432d0472a6f8051142082bea4 (commit)
from 8defb21d34410d000c8b776e0e3a1edd04762638 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit c03e0eb01dc4632432d0472a6f8051142082bea4
Author: NIIBE Yutaka <gniibe at fsij.org>
Date: Wed May 31 18:42:55 2017 +0900
agent: Fix error from do_encryption.
* agent/protect.c (do_encryption): Don't mask failure of OUTBUF
allocation.
Signed-off-by: NIIBE Yutaka <gniibe at fsij.org>
diff --git a/agent/protect.c b/agent/protect.c
index 66c3741..18b44f1 100644
--- a/agent/protect.c
+++ b/agent/protect.c
@@ -381,7 +381,10 @@ do_encryption (const unsigned char *hashbegin, size_t hashlen,
outbuf = gcry_malloc_secure (outlen);
}
if (!outbuf)
- rc = out_of_core ();
+ {
+ rc = out_of_core ();
+ goto leave;
+ }
/* Allocate a buffer for the nonce and the salt. */
if (!rc)
@@ -421,11 +424,13 @@ do_encryption (const unsigned char *hashbegin, size_t hashlen,
}
}
+ if (rc)
+ goto leave;
+
/* Set the IV/nonce. */
- if (!rc)
- {
- rc = gcry_cipher_setiv (hd, iv, use_ocb? 12 : blklen);
- }
+ rc = gcry_cipher_setiv (hd, iv, use_ocb? 12 : blklen);
+ if (rc)
+ goto leave;
if (use_ocb)
{
@@ -436,7 +441,6 @@ do_encryption (const unsigned char *hashbegin, size_t hashlen,
if (!rc)
rc = gcry_cipher_authenticate
(hd, protbegin+protlen, hashlen - (protbegin+protlen - hashbegin));
-
}
else
{
@@ -500,14 +504,11 @@ do_encryption (const unsigned char *hashbegin, size_t hashlen,
}
}
+ if (rc)
+ goto leave;
+
/* Release cipher handle and check for errors. */
gcry_cipher_close (hd);
- if (rc)
- {
- xfree (iv);
- xfree (outbuf);
- return rc;
- }
/* Now allocate the buffer we want to return. This is
@@ -546,6 +547,12 @@ do_encryption (const unsigned char *hashbegin, size_t hashlen,
xfree (iv);
xfree (outbuf);
return 0;
+
+ leave:
+ gcry_cipher_close (hd);
+ xfree (iv);
+ xfree (outbuf);
+ return rc;
}
-----------------------------------------------------------------------
Summary of changes:
agent/protect.c | 31 +++++++++++++++++++------------
1 file changed, 19 insertions(+), 12 deletions(-)
hooks/post-receive
--
The GNU Privacy Guard
http://git.gnupg.org
More information about the Gnupg-commits
mailing list