Add aaa-12 修改dhcp内存泄露错误
SOL 释放cjson解析的root 修改人:wuqihy 检视人:yinbin Signed-off-by: wuqihy <wuqihy@cmhi.chinamobile.com>
This commit is contained in:
parent
09a8689a6a
commit
ad55a2dfd5
Platform/user/configm/config-server/dhcp_config
|
@ -106,6 +106,10 @@ INPUT_ERROR:
|
||||||
free(cmd);
|
free(cmd);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
if(root){
|
||||||
|
cJSON_Delete(root);
|
||||||
|
root = NULL;
|
||||||
|
}
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -207,5 +211,9 @@ ret_code dhcp_client_get(uint source,
|
||||||
*output_len = strlen(out) + 1;
|
*output_len = strlen(out) + 1;
|
||||||
memcpy(output, out, *output_len);
|
memcpy(output, out, *output_len);
|
||||||
free(out);
|
free(out);
|
||||||
|
if(root){
|
||||||
|
cJSON_Delete(root);
|
||||||
|
root = NULL;
|
||||||
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
|
@ -103,6 +103,10 @@ ret_code dhcp_dhcpd_lease_get_all(uint source, pointer output, int *output_len)
|
||||||
free(out);
|
free(out);
|
||||||
//out = cJSON_Print(root);
|
//out = cJSON_Print(root);
|
||||||
//printf("%s\n",out);
|
//printf("%s\n",out);
|
||||||
|
if(root){
|
||||||
|
cJSON_Delete(root);
|
||||||
|
root = NULL;
|
||||||
|
}
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -235,6 +235,10 @@ INPUT_ERROR:
|
||||||
memset(cmd, 0, len + 1);
|
memset(cmd, 0, len + 1);
|
||||||
free(cmd);
|
free(cmd);
|
||||||
}
|
}
|
||||||
|
if(root){
|
||||||
|
cJSON_Delete(root);
|
||||||
|
root = NULL;
|
||||||
|
}
|
||||||
//ret = RET_INPUTERR;
|
//ret = RET_INPUTERR;
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -332,6 +336,10 @@ ret_code dhcp_host_config_get(uint source,
|
||||||
*output_len = strlen(out) + 1;
|
*output_len = strlen(out) + 1;
|
||||||
memcpy(output, out, *output_len);
|
memcpy(output, out, *output_len);
|
||||||
free(out);
|
free(out);
|
||||||
|
if(root){
|
||||||
|
cJSON_Delete(root);
|
||||||
|
root = NULL;
|
||||||
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -409,6 +417,10 @@ ret_code dhcp_host_config_get_all(uint source, pointer output, int *output_len){
|
||||||
*output_len = strlen(out) + 1;
|
*output_len = strlen(out) + 1;
|
||||||
memcpy(output, out, *output_len);
|
memcpy(output, out, *output_len);
|
||||||
free(out);
|
free(out);
|
||||||
|
if(root){
|
||||||
|
cJSON_Delete(root);
|
||||||
|
root = NULL;
|
||||||
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -128,6 +128,10 @@ INPUT_ERROR:
|
||||||
free(cmd);
|
free(cmd);
|
||||||
cmd = NULL;
|
cmd = NULL;
|
||||||
}
|
}
|
||||||
|
if(root){
|
||||||
|
cJSON_Delete(root);
|
||||||
|
root = NULL;
|
||||||
|
}
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -180,6 +184,10 @@ ret_code dhcp_relay_config_get_all(uint source, pointer output, int *output_len)
|
||||||
*output_len = strlen(out) + 1;
|
*output_len = strlen(out) + 1;
|
||||||
memcpy(output, out, *output_len);
|
memcpy(output, out, *output_len);
|
||||||
free(out);
|
free(out);
|
||||||
|
if(root){
|
||||||
|
cJSON_Delete(root);
|
||||||
|
root = NULL;
|
||||||
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -5,6 +5,7 @@ ret_code dhcp_shared_network_config_chk(uint source, uint *config_type,
|
||||||
pointer output, int *output_len)
|
pointer output, int *output_len)
|
||||||
{
|
{
|
||||||
ret_code ret = RET_OK;
|
ret_code ret = RET_OK;
|
||||||
|
/*
|
||||||
cJSON *root=NULL, *operate=NULL;
|
cJSON *root=NULL, *operate=NULL;
|
||||||
root = cJSON_Parse(input);
|
root = cJSON_Parse(input);
|
||||||
if(NULL == root)
|
if(NULL == root)
|
||||||
|
@ -17,7 +18,7 @@ ret_code dhcp_shared_network_config_chk(uint source, uint *config_type,
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
*config_type = CM_CONFIG_GET_ALL;
|
*config_type = CM_CONFIG_GET_ALL;
|
||||||
}
|
}*/
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -362,7 +363,10 @@ INPUT_ERROR:
|
||||||
memset(cmd, 0, len + 1);
|
memset(cmd, 0, len + 1);
|
||||||
free(cmd);
|
free(cmd);
|
||||||
}
|
}
|
||||||
|
if(root){
|
||||||
|
cJSON_Delete(root);
|
||||||
|
root = NULL;
|
||||||
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -507,6 +511,10 @@ ret_code dhcp_shared_network_config_get_all(uint source, pointer output, int *ou
|
||||||
*output_len = strlen(out) + 1;
|
*output_len = strlen(out) + 1;
|
||||||
memcpy(output, out, *output_len);
|
memcpy(output, out, *output_len);
|
||||||
free(out);
|
free(out);
|
||||||
|
if(root){
|
||||||
|
cJSON_Delete(root);
|
||||||
|
root = NULL;
|
||||||
|
}
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -308,6 +308,10 @@ INPUT_ERROR:
|
||||||
if(router){
|
if(router){
|
||||||
free(router);
|
free(router);
|
||||||
}
|
}
|
||||||
|
if(root){
|
||||||
|
cJSON_Delete(root);
|
||||||
|
root = NULL;
|
||||||
|
}
|
||||||
//ret = RET_INPUTERR;
|
//ret = RET_INPUTERR;
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -459,6 +463,10 @@ ret_code dhcp_subnet_config_get(uint source,
|
||||||
*output_len = strlen(out) + 1;
|
*output_len = strlen(out) + 1;
|
||||||
memcpy(output, out, *output_len);
|
memcpy(output, out, *output_len);
|
||||||
free(out);
|
free(out);
|
||||||
|
if(root){
|
||||||
|
cJSON_Delete(root);
|
||||||
|
root = NULL;
|
||||||
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -599,6 +607,10 @@ ret_code dhcp_subnet_config_get_all(uint source, pointer output, int *output_len
|
||||||
*output_len = strlen(out) + 1;
|
*output_len = strlen(out) + 1;
|
||||||
memcpy(output, out, *output_len);
|
memcpy(output, out, *output_len);
|
||||||
free(out);
|
free(out);
|
||||||
|
if(root){
|
||||||
|
cJSON_Delete(root);
|
||||||
|
root = NULL;
|
||||||
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue