[Pkg-gnupg-commit] [gnupg2] 12/292: gpg: Avoid malloc failure due to no key signatures
Daniel Kahn Gillmor
dkg at fifthhorseman.net
Mon Nov 21 06:31:21 UTC 2016
This is an automated email from the git hooks/post-receive script.
dkg pushed a commit to branch master
in repository gnupg2.
commit 18bbefa27f9e47e1062ee4d7af09487632795ba7
Author: Werner Koch <wk at gnupg.org>
Date: Mon Sep 19 08:27:23 2016 +0200
gpg: Avoid malloc failure due to no key signatures
* g10/keyedit.c (check_all_keysigs): Check early for no key
signatures. Use xtrycalloc.
--
GnuPG-bug-id: 2690
Signed-off-by: Werner Koch <wk at gnupg.org>
---
g10/keyedit.c | 27 +++++++++++++++++++--------
1 file changed, 19 insertions(+), 8 deletions(-)
diff --git a/g10/keyedit.c b/g10/keyedit.c
index 87e69b0..cd16ec9 100644
--- a/g10/keyedit.c
+++ b/g10/keyedit.c
@@ -408,20 +408,31 @@ check_all_keysigs (KBNODE kb, int only_selected, int only_selfsigs)
/* First we look for duplicates. */
{
- int nsigs = 0;
- KBNODE *sigs;
+ int nsigs;
+ kbnode_t *sigs;
int i;
int last_i;
/* Count the sigs. */
- for (n = kb; n; n = n->next)
- if (is_deleted_kbnode (n))
- continue;
- else if (n->pkt->pkttype == PKT_SIGNATURE)
- nsigs ++;
+ for (nsigs = 0, n = kb; n; n = n->next)
+ {
+ if (is_deleted_kbnode (n))
+ continue;
+ else if (n->pkt->pkttype == PKT_SIGNATURE)
+ nsigs ++;
+ }
+
+ if (!nsigs)
+ return 0; /* No signatures at all. */
/* Add them all to the SIGS array. */
- sigs = xmalloc_clear (sizeof (*sigs) * nsigs);
+ sigs = xtrycalloc (nsigs, sizeof *sigs);
+ if (!sigs)
+ {
+ log_error (_("error allocating memory: %s\n"),
+ gpg_strerror (gpg_error_from_syserror ()));
+ return 0;
+ }
i = 0;
for (n = kb; n; n = n->next)
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-gnupg/gnupg2.git
More information about the Pkg-gnupg-commit
mailing list