]> www.vanbest.org Git - sasc-ng.git/commitdiff
fix memory leak in key print
authorleslie <unknown>
Mon, 14 Jan 2008 20:13:21 +0000 (21:13 +0100)
committerleslie <unknown>
Mon, 14 Jan 2008 20:13:21 +0000 (21:13 +0100)
data.c

diff --git a/data.c b/data.c
index b8115e0a03d99070d8595315597cc0a661edba4e..299b8d3bc0c16e6467fe1cf698b8f16bc1872db5 100644 (file)
--- 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)