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 + + * key.c (gpgme_key_unref): Allow passing NULL like free does. + The rule of least surprise. + 2004-04-15 Werner Koch * 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)