From dd7cb80555e5800e654707906983239066e89d0d Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Fri, 16 Jan 2009 20:04:34 +0000 Subject: [PATCH] Fix memory leak. --- src/dbStatic/dbLexRoutines.c | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/src/dbStatic/dbLexRoutines.c b/src/dbStatic/dbLexRoutines.c index 5b8659152..a2cdb03ce 100644 --- a/src/dbStatic/dbLexRoutines.c +++ b/src/dbStatic/dbLexRoutines.c @@ -1006,24 +1006,20 @@ static void dbRecordAlias(char *name) static void dbAlias(char *name, char *alias) { - DBENTRY *pdbentry; - long status; + DBENTRY dbEntry; + DBENTRY *pdbEntry = &dbEntry; - pdbentry = dbAllocEntry(pdbbase); - status = dbFindRecord(pdbentry, name); - if (status) { - epicsPrintf("Can't create alias \"%s\", record \"%s\" not found\n", + dbInitEntry(pdbbase, pdbEntry); + if (dbFindRecord(pdbEntry, name)) { + epicsPrintf("Alias \"%s\" refers to unknown record \"%s\"\n", alias, name); yyerror(NULL); - return; - } - status = dbCreateAlias(pdbentry, alias); - if(status) { - epicsPrintf("Can't create alias \"%s\" for \"%s\"\n", + } else if (dbCreateAlias(pdbEntry, alias)) { + epicsPrintf("Can't create alias \"%s\" referring to \"%s\"\n", alias, name); yyerror(NULL); - return; } + dbFinishEntry(pdbEntry); } static void dbRecordBody(void)