From 0fd4cd8503dfe9c3e6a362003bd647b4cd882363 Mon Sep 17 00:00:00 2001 From: Daniel Kahn Gillmor Date: Fri, 19 Dec 2014 18:07:55 -0500 Subject: 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 fc1f5a20e..b26bd6862 100644 --- a/scd/command.c +++ b/scd/command.c @@ -777,10 +777,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) { -- cgit v1.2.3