diff --git a/src/ioc/db/dbChannel.c b/src/ioc/db/dbChannel.c index 9305f7da4..4d5a3e968 100644 --- a/src/ioc/db/dbChannel.c +++ b/src/ioc/db/dbChannel.c @@ -838,7 +838,7 @@ void dbRegisterFilter(const char *name, const chFilterIf *fif, void *puser) if (pgph) return; - pfilt = dbCalloc(1, sizeof(chFilterPlugin)); + pfilt = dbCalloc(1, sizeof(chFilterPlugin)); /* leaked */ pfilt->name = epicsStrDup(name); pfilt->fif = fif; pfilt->puser = puser; diff --git a/src/ioc/db/test/epicsRunDbTests.c b/src/ioc/db/test/epicsRunDbTests.c index 0a3e00cd0..0b747abc2 100644 --- a/src/ioc/db/test/epicsRunDbTests.c +++ b/src/ioc/db/test/epicsRunDbTests.c @@ -14,6 +14,7 @@ #include "epicsUnitTest.h" #include "epicsExit.h" +#include "dbmf.h" int callbackTest(void); @@ -23,5 +24,7 @@ void epicsRunDbTests(void) runTest(callbackTest); + dbmfFreeChunks(); + epicsExit(0); /* Trigger test harness */ } diff --git a/src/ioc/dbStatic/dbStaticLib.c b/src/ioc/dbStatic/dbStaticLib.c index ce27803a5..2ef3c0585 100644 --- a/src/ioc/dbStatic/dbStaticLib.c +++ b/src/ioc/dbStatic/dbStaticLib.c @@ -651,6 +651,7 @@ void epicsShareAPI dbFreeBase(dbBase *pdbbase) ellDelete(&pdbRecordType->attributeList,&pAttribute->node); free((void *)pAttribute->name); free((void *)pAttribute->pdbFldDes); + free(pAttribute); pAttribute = pAttributeNext; } pdbRecordTypeNext = (dbRecordType *)ellNext(&pdbRecordType->node); diff --git a/src/ioc/registry/registerRecordDeviceDriver.pl b/src/ioc/registry/registerRecordDeviceDriver.pl index 5ab5c14d3..e914473e7 100755 --- a/src/ioc/registry/registerRecordDeviceDriver.pl +++ b/src/ioc/registry/registerRecordDeviceDriver.pl @@ -186,8 +186,7 @@ print << 'END'; } if (executed) { - printf("Registration already done.\n"); - return 0; + printf("Warning: Registration already done.\n"); } executed = 1; diff --git a/src/libCom/dbmf/dbmf.h b/src/libCom/dbmf/dbmf.h index 44395ade3..3740e532e 100644 --- a/src/libCom/dbmf/dbmf.h +++ b/src/libCom/dbmf/dbmf.h @@ -16,6 +16,7 @@ #ifndef DBMF_H #define DBMF_H +#include #include "shareLib.h" #ifdef __cplusplus diff --git a/src/libCom/iocsh/registry.c b/src/libCom/iocsh/registry.c index 89b50ccca..0b2e312e3 100644 --- a/src/libCom/iocsh/registry.c +++ b/src/libCom/iocsh/registry.c @@ -81,6 +81,7 @@ epicsShareFunc void epicsShareAPI registryFree(void) { if(!gphPvt) return; gphFreeMem(gphPvt); + gphPvt = 0; } epicsShareFunc int epicsShareAPI registryDump(void)