Fixed errors and added logging.
This commit is contained in:
@ -342,11 +342,7 @@ GWPROTOCOL *funcs;
|
|||||||
if ((funcs=(GWPROTOCOL *)load_module(port->protocol, MODULE_PROTOCOL))
|
if ((funcs=(GWPROTOCOL *)load_module(port->protocol, MODULE_PROTOCOL))
|
||||||
== NULL)
|
== NULL)
|
||||||
{
|
{
|
||||||
if (service->users->data)
|
users_free(service->users);
|
||||||
{
|
|
||||||
hashtable_free(service->users->data);
|
|
||||||
}
|
|
||||||
free(service->users);
|
|
||||||
dcb_close(port->listener);
|
dcb_close(port->listener);
|
||||||
port->listener = NULL;
|
port->listener = NULL;
|
||||||
LOGIF(LE, (skygw_log_write_flush(
|
LOGIF(LE, (skygw_log_write_flush(
|
||||||
@ -381,11 +377,7 @@ GWPROTOCOL *funcs;
|
|||||||
"Error : Failed to create session to service %s.",
|
"Error : Failed to create session to service %s.",
|
||||||
service->name)));
|
service->name)));
|
||||||
|
|
||||||
if (service->users->data)
|
users_free(service->users);
|
||||||
{
|
|
||||||
hashtable_free(service->users->data);
|
|
||||||
}
|
|
||||||
free(service->users);
|
|
||||||
dcb_close(port->listener);
|
dcb_close(port->listener);
|
||||||
port->listener = NULL;
|
port->listener = NULL;
|
||||||
goto retblock;
|
goto retblock;
|
||||||
@ -399,11 +391,7 @@ GWPROTOCOL *funcs;
|
|||||||
port->port,
|
port->port,
|
||||||
port->protocol,
|
port->protocol,
|
||||||
service->name)));
|
service->name)));
|
||||||
if (service->users->data)
|
users_free(service->users);
|
||||||
{
|
|
||||||
hashtable_free(service->users->data);
|
|
||||||
}
|
|
||||||
free(service->users);
|
|
||||||
dcb_close(port->listener);
|
dcb_close(port->listener);
|
||||||
port->listener = NULL;
|
port->listener = NULL;
|
||||||
}
|
}
|
||||||
|
@ -59,12 +59,16 @@ users_alloc()
|
|||||||
USERS *rval;
|
USERS *rval;
|
||||||
|
|
||||||
if ((rval = calloc(1, sizeof(USERS))) == NULL)
|
if ((rval = calloc(1, sizeof(USERS))) == NULL)
|
||||||
return NULL;
|
{
|
||||||
|
skygw_log_write(LE,"[%s:%d] Error: Memory allocation failed.",__FUNCTION__,__LINE__);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
if ((rval->data = hashtable_alloc(USERS_HASHTABLE_DEFAULT_SIZE, user_hash, strcmp)) == NULL)
|
if ((rval->data = hashtable_alloc(USERS_HASHTABLE_DEFAULT_SIZE, user_hash, strcmp)) == NULL)
|
||||||
{
|
{
|
||||||
free(rval);
|
skygw_log_write(LE,"[%s:%d] Error: Memory allocation failed.",__FUNCTION__,__LINE__);
|
||||||
return NULL;
|
free(rval);
|
||||||
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
hashtable_memory_fns(rval->data, (HASHMEMORYFN)strdup, (HASHMEMORYFN)strdup, (HASHMEMORYFN)free, (HASHMEMORYFN)free);
|
hashtable_memory_fns(rval->data, (HASHMEMORYFN)strdup, (HASHMEMORYFN)strdup, (HASHMEMORYFN)free, (HASHMEMORYFN)free);
|
||||||
@ -80,8 +84,15 @@ USERS *rval;
|
|||||||
void
|
void
|
||||||
users_free(USERS *users)
|
users_free(USERS *users)
|
||||||
{
|
{
|
||||||
|
if(users == NULL)
|
||||||
|
{
|
||||||
|
skygw_log_write(LE,"[%s:%d] Error: NULL parameter.",__FUNCTION__,__LINE__);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(users->data)
|
||||||
hashtable_free(users->data);
|
hashtable_free(users->data);
|
||||||
free(users);
|
free(users);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Reference in New Issue
Block a user