Fix some memory leaks and use-after-free (cppcheck)
This commit is contained in:
@@ -909,8 +909,12 @@ pCodri MakeTcpDoChoDriver(char *tclArray, SConnection *pCon){
|
||||
allocate memory
|
||||
*/
|
||||
pNew = (pCodri)malloc(sizeof(Codri));
|
||||
if(!pNew){
|
||||
return NULL;
|
||||
}
|
||||
self = (pTcpDoCho)malloc(sizeof(TcpDoCho));
|
||||
if(!pNew || !self){
|
||||
if(!self){
|
||||
free(pNew);
|
||||
return NULL;
|
||||
}
|
||||
memset(pNew,0,sizeof(Codri));
|
||||
@@ -952,6 +956,7 @@ pCodri MakeTcpDoChoDriver(char *tclArray, SConnection *pCon){
|
||||
SCWrite(pCon,"ERROR: number of choppers not in range 1 - 8",eError);
|
||||
free(pNew);
|
||||
free(self);
|
||||
return NULL;
|
||||
}
|
||||
self->numChoppers = port;
|
||||
|
||||
|
||||
@@ -203,19 +203,21 @@ static int HttpProtInit(Ascon *a, SConnection *con,
|
||||
int argc, char *argv[]){
|
||||
pHttpProt pHttp = NULL;
|
||||
|
||||
if(argc < 3){
|
||||
SCWrite(con,"ERROR: too few arguments in HttpProtInit", eError);
|
||||
return 0;
|
||||
}
|
||||
pHttp = calloc(sizeof(HttpProt), 1);
|
||||
if(pHttp == NULL){
|
||||
SCWrite(con,"ERROR: out of memory in HttpProtInit", eError);
|
||||
return 0;
|
||||
}
|
||||
if(argc < 3){
|
||||
return 0;
|
||||
}
|
||||
a->hostport = strdup(argv[1]);
|
||||
pHttp->binData = (pSICSData)FindCommandData(pServ->pSics,
|
||||
argv[2], "SICSData");
|
||||
if(pHttp->binData == NULL){
|
||||
SCWrite(con,"ERROR: SICSData objct not found", eError);
|
||||
SCWrite(con,"ERROR: SICSData object not found", eError);
|
||||
free(pHttp);
|
||||
return 0;
|
||||
}
|
||||
if(argc > 3){
|
||||
|
||||
Reference in New Issue
Block a user