aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gpgme/ChangeLog5
-rw-r--r--gpgme/key.c3
2 files changed, 8 insertions, 0 deletions
diff --git a/gpgme/ChangeLog b/gpgme/ChangeLog
index 1abc055a..3192ad01 100644
--- a/gpgme/ChangeLog
+++ b/gpgme/ChangeLog
@@ -1,3 +1,8 @@
+2004-04-21 Werner Koch <[email protected]>
+
+ * key.c (gpgme_key_unref): Allow passing NULL like free does.
+ The rule of least surprise.
+
2004-04-15 Werner Koch <[email protected]>
* verify.c (prepare_new_sig, _gpgme_verify_status_handler): Remove
diff --git a/gpgme/key.c b/gpgme/key.c
index 05beb114..4634c264 100644
--- a/gpgme/key.c
+++ b/gpgme/key.c
@@ -304,6 +304,9 @@ gpgme_key_unref (gpgme_key_t key)
gpgme_user_id_t uid;
gpgme_subkey_t subkey;
+ if (!key)
+ return;
+
LOCK (key_ref_lock);
assert (key->_refs > 0);
if (--key->_refs)