Fix a possible leak
authorColin Leroy <colin@colino.net>
Mon, 18 Sep 2017 08:09:52 +0000 (10:09 +0200)
committerColin Leroy <colin@colino.net>
Mon, 18 Sep 2017 08:09:52 +0000 (10:09 +0200)
src/plugins/pgpcore/select-keys.c

index 92c228b..5df8f68 100644 (file)
@@ -302,8 +302,10 @@ fill_clist (struct select_keys_s *sk, const char *pattern, gpgme_protocol_t prot
     update_progress (sk, ++running, pattern);
     while ( !(err = gpgme_op_keylist_next ( ctx, &key )) ) {
        gpgme_user_id_t uid = key->uids;
-       if (!key->can_encrypt || key->revoked || key->expired || key->disabled)
+       if (!key->can_encrypt || key->revoked || key->expired || key->disabled) {
+               gpgme_key_unref(key);
                continue;
+       }
         debug_print ("%% %s:%d:  insert\n", __FILE__ ,__LINE__ );
         set_row (clist, key, proto ); 
        for (; uid; uid = uid->next) {