From b0b3803e8c2959dd67ca96debc54b5c6464f0d41 Mon Sep 17 00:00:00 2001 From: Daniel Kahn Gillmor Date: Fri, 19 Dec 2014 18:07:55 -0500 Subject: [PATCH] scd: Avoid double-free on error condition in scd * scd/command.c (cmd_readkey): avoid double-free of cert -- When ksba_cert_new() fails, cert will be double-freed. Debian-Bug-Id: 773471 Original patch changed by wk to do the free only at leave. --- scd/command.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/scd/command.c b/scd/command.c index dd4191f44..1cc580ac4 100644 --- a/scd/command.c +++ b/scd/command.c @@ -804,10 +804,8 @@ cmd_readkey (assuan_context_t ctx, char *line) rc = ksba_cert_new (&kc); if (rc) - { - xfree (cert); - goto leave; - } + goto leave; + rc = ksba_cert_init_from_mem (kc, cert, ncert); if (rc) {