aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--gpgme/ChangeLog5
-rw-r--r--gpgme/decrypt.c8
-rw-r--r--gpgme/encrypt.c1
3 files changed, 14 insertions, 0 deletions
diff --git a/gpgme/ChangeLog b/gpgme/ChangeLog
index 2a5c7191..8285ff85 100644
--- a/gpgme/ChangeLog
+++ b/gpgme/ChangeLog
@@ -1,3 +1,8 @@
+2008-03-05 Marcus Brinkmann <[email protected]>
+
+ * decrypt.c (release_op_data): Release OPD->result.recipients.
+ * encrypt.c (release_op_data): Release invalid_recipient.
+
2008-02-15 Marcus Brinkmann <[email protected]>
* engine-gpgconf.c (gpgconf_read): Fix end-of-line handline.
diff --git a/gpgme/decrypt.c b/gpgme/decrypt.c
index 5ce21bad..66250b12 100644
--- a/gpgme/decrypt.c
+++ b/gpgme/decrypt.c
@@ -50,12 +50,20 @@ static void
release_op_data (void *hook)
{
op_data_t opd = (op_data_t) hook;
+ gpgme_recipient_t recipient = opd->result.recipients;
if (opd->result.unsupported_algorithm)
free (opd->result.unsupported_algorithm);
if (opd->result.file_name)
free (opd->result.file_name);
+
+ while (recipient)
+ {
+ gpgme_recipient_t next = recipient->next;
+ free (recipient);
+ recipient = next;
+ }
}
diff --git a/gpgme/encrypt.c b/gpgme/encrypt.c
index a7a1f4de..4744090d 100644
--- a/gpgme/encrypt.c
+++ b/gpgme/encrypt.c
@@ -53,6 +53,7 @@ release_op_data (void *hook)
gpgme_invalid_key_t next = invalid_recipient->next;
if (invalid_recipient->fpr)
free (invalid_recipient->fpr);
+ free (invalid_recipient);
invalid_recipient = next;
}
}