g10: Fix memory leak.

* g10/decrypt.c (decrypt_messages): Properly decrease the reference
count of the armor filters after pushing them.

Signed-off-by: Justus Winter <justus@g10code.com>
This commit is contained in:
Justus Winter 2016-11-29 16:48:35 +01:00
parent 9fb5e9c145
commit 52385a2ba1
1 changed files with 5 additions and 4 deletions

View File

@ -180,7 +180,6 @@ void
decrypt_messages (ctrl_t ctrl, int nfiles, char *files[])
{
IOBUF fp;
armor_filter_context_t *afx = NULL;
progress_filter_context_t *pfx;
char *p, *output = NULL;
int rc=0,use_stdin=0;
@ -254,8 +253,11 @@ decrypt_messages (ctrl_t ctrl, int nfiles, char *files[])
{
if (use_armor_filter(fp))
{
afx = new_armor_context ();
push_armor_filter ( afx, fp );
armor_filter_context_t *afx = new_armor_context ();
rc = push_armor_filter (afx, fp);
if (rc)
log_error("failed to push armor filter");
release_armor_context (afx);
}
}
rc = proc_packets (ctrl,NULL, fp);
@ -275,6 +277,5 @@ decrypt_messages (ctrl_t ctrl, int nfiles, char *files[])
}
set_next_passphrase(NULL);
release_armor_context (afx);
release_progress_context (pfx);
}