aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Kahn Gillmor <[email protected]>2014-12-19 23:07:55 +0000
committerWerner Koch <[email protected]>2014-12-22 12:17:50 +0000
commitb0b3803e8c2959dd67ca96debc54b5c6464f0d41 (patch)
tree0eef02d3642e1519f7bc365268430bd255d77843
parentavoid future chance of using uninitialized memory (diff)
downloadgnupg-b0b3803e8c2959dd67ca96debc54b5c6464f0d41.tar.gz
gnupg-b0b3803e8c2959dd67ca96debc54b5c6464f0d41.zip
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.
-rw-r--r--scd/command.c6
1 files 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)
{