From: leslie <unknown>
Date: Mon, 14 Jan 2008 20:13:21 +0000 (+0100)
Subject: fix memory leak in key print
X-Git-Tag: 0.9.0~33
X-Git-Url: http://www.vanbest.org/gitweb/?a=commitdiff_plain;h=89bffb7f2a84afdc049b17d3417f05fe65c0e72a;p=sasc-ng.git

fix memory leak in key print
---

diff --git a/data.c b/data.c
index b8115e0..299b8d3 100644
--- a/data.c
+++ b/data.c
@@ -931,11 +931,14 @@ cPlainKey *cPlainKeys::ParseLine(char *line)
 cString cPlainKeys::KeyString(int Type, int Id, int Keynr)
 {
   cPlainKey *pk=NewFromType(Type);
+  char *s;
   if(pk) {
     pk->type=Type; pk->id=Id; pk->keynr=Keynr;
-    return cString::sprintf("%c %.*X %s",Type,pk->IdSize(),Id,*pk->PrintKeyNr());
+    asprintf(&s,"%c %.*X %s",Type,pk->IdSize(),Id,*pk->PrintKeyNr());
+    delete pk;
     }
-  return "unknown";
+  else s=strdup("unknown");
+  return cString(s,true);
 }
 
 void cPlainKeys::PostLoad(void)