[Pkg-gnupg-commit] [gnupg2] 93/159: gpg: Avoid warnings about possible NULL deref.
Daniel Kahn Gillmor
dkg at fifthhorseman.net
Wed Jan 27 13:23:58 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 8a56a38387c10c02ba0790c655dd5c1d08e4a724
Author: Werner Koch <wk at gnupg.org>
Date: Thu Jan 7 19:05:35 2016 +0100
gpg: Avoid warnings about possible NULL deref.
* g10/getkey.c (cache_public_key): Protect deref of CE which actually
can't happen.
* g10/keygen.c (quickgen_set_para): s/sprintf/snprintf/.
* g10/tofu.c (end_transaction, rollback_transaction): Allow NULL for
DB.
* g10/trustdb.c (update_min_ownertrust): Remove useless clearling of
ERR.
--
Signed-off-by: Werner Koch <wk at gnupg.org>
---
g10/getkey.c | 2 +-
g10/keygen.c | 2 +-
g10/tofu.c | 6 ++++++
g10/trustdb.c | 1 -
4 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/g10/getkey.c b/g10/getkey.c
index 6a1fce6..e66be0d 100644
--- a/g10/getkey.c
+++ b/g10/getkey.c
@@ -196,7 +196,7 @@ cache_public_key (PKT_public_key * pk)
/* Remove the last 50% of the entries. */
for (ce = pk_cache, n = 0; ce && n < pk_cache_entries/2; n++)
ce = ce->next;
- if (ce != pk_cache && ce->next)
+ if (ce && ce != pk_cache && ce->next)
{
ce2 = ce->next;
ce->next = NULL;
diff --git a/g10/keygen.c b/g10/keygen.c
index 40619ca..94ea126 100644
--- a/g10/keygen.c
+++ b/g10/keygen.c
@@ -3395,7 +3395,7 @@ quickgen_set_para (struct para_data_s *para, int for_subkey,
para = r;
r = xmalloc_clear (sizeof *r + 20);
r->key = for_subkey? pSUBKEYTYPE : pKEYTYPE;
- sprintf (r->u.value, "%d", algo);
+ snprintf (r->u.value, 20, "%d", algo);
r->next = para;
para = r;
diff --git a/g10/tofu.c b/g10/tofu.c
index b7f61e9..903f076 100644
--- a/g10/tofu.c
+++ b/g10/tofu.c
@@ -306,6 +306,9 @@ end_transaction (struct db *db, int only_batch)
int rc;
char *err = NULL;
+ if (!db)
+ return 0; /* Shortcut to allow for easier cleanup code. */
+
if ((! batch_update || only_batch == 2) && db->batch_update)
/* The batch transaction is still in open, but we left batch
mode. */
@@ -353,6 +356,9 @@ rollback_transaction (struct db *db)
int rc;
char *err = NULL;
+ if (!db)
+ return 0; /* Shortcut to allow for easier cleanup code. */
+
if (db->batch_update)
/* Just undo the most recent update; don't revert any progress
made by the batch transaction. */
diff --git a/g10/trustdb.c b/g10/trustdb.c
index 9217dd9..cb2b5b9 100644
--- a/g10/trustdb.c
+++ b/g10/trustdb.c
@@ -781,7 +781,6 @@ update_min_ownertrust (u32 *kid, unsigned int new_trust )
write_record (&rec);
tdb_revalidation_mark ();
do_sync ();
- err = 0;
}
else
{
--
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