From 89bffb7f2a84afdc049b17d3417f05fe65c0e72a Mon Sep 17 00:00:00 2001 From: leslie Date: Mon, 14 Jan 2008 21:13:21 +0100 Subject: [PATCH] fix memory leak in key print --- data.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) 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) -- 2.39.5