Fix potential memory leak on error

In osdThread.c for POSIX if pthread_create_key fails
In iocLogServer.c if fdmgr_init returns NULL
In dbBkpt.c if semaphore creation fails while adding a bp to a lockset
In devSiSoftCallback.c if linked record is not found
This commit is contained in:
JJL772
2021-07-21 17:02:12 -07:00
committed by Dirk Zimoch
parent 9b9de013db
commit ff1b9d4250
4 changed files with 6 additions and 1 deletions

View File

@@ -113,6 +113,7 @@ int main(void)
pserver->pfdctx = (void *) fdmgr_init();
if (!pserver->pfdctx) {
free(pserver);
fprintf(stderr, "iocLogServer: %s\n", strerror(errno));
return IOCLS_ERROR;
}

View File

@@ -956,8 +956,10 @@ LIBCOM_API epicsThreadPrivateId epicsStdCall epicsThreadPrivateCreate(void)
return NULL;
status = pthread_key_create(key,0);
checkStatus(status,"pthread_key_create epicsThreadPrivateCreate");
if(status)
if(status) {
free(key);
return NULL;
}
return((epicsThreadPrivateId)key);
}