From 8e6ce1e4d3f39c065df6b9bc9be3cc7c40ac0500 Mon Sep 17 00:00:00 2001 From: yinbin Date: Wed, 28 Aug 2019 04:30:00 -0700 Subject: [PATCH] =?UTF-8?q?Add=20aaa-12=20=E4=BF=AE=E6=94=B9json=E8=A7=A3?= =?UTF-8?q?=E6=9E=90=E6=A0=A1=E9=AA=8C=E6=9C=BA=E5=88=B6=20SOL=20=E4=BF=AE?= =?UTF-8?q?=E6=94=B9json=E8=A7=A3=E6=9E=90=E6=A0=A1=E9=AA=8C=E6=9C=BA?= =?UTF-8?q?=E5=88=B6=20=E4=BF=AE=E6=94=B9=E4=BA=BA=EF=BC=9Ayinbin=20?= =?UTF-8?q?=E6=A3=80=E8=A7=86=E4=BA=BA=EF=BC=9Ayinbin?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: yinbin --- .../config-server/vlan_config/vlan_config.c | 33 +++++++++++++++---- 1 file changed, 26 insertions(+), 7 deletions(-) diff --git a/Platform/user/configm/config-server/vlan_config/vlan_config.c b/Platform/user/configm/config-server/vlan_config/vlan_config.c index ac7d9ad33..f6a6fe1ad 100644 --- a/Platform/user/configm/config-server/vlan_config/vlan_config.c +++ b/Platform/user/configm/config-server/vlan_config/vlan_config.c @@ -1246,11 +1246,12 @@ ret_code vlan_config_json_parse(pointer input, interface_vlan_info *if_vlan_info goto out; } if(!(operate = cJSON_GetObjectItem(root, "operate"))){ - printf("[vlan]vlan_config_json_parse: No operate node.\n"); + printf("[vlan]vlan_config_json_parse: Json No operate node.\n"); ret = RET_INPUTERR; goto out; } if(!(conf_ifvlan = cJSON_GetObjectItem(root, "conf-ifvlan"))){ + printf("[vlan]vlan_config_json_parse: Json No conf_ifvlan node.\n"); ret = RET_INPUTERR; goto out; } @@ -1258,7 +1259,7 @@ ret_code vlan_config_json_parse(pointer input, interface_vlan_info *if_vlan_info /* 解析最外层interface数组 */ if_num = cJSON_GetArraySize(conf_ifvlan); if(if_num == 0){ - printf("[vlan]vlan_config_json_parse: json array has no interface.\n"); + printf("[vlan]vlan_config_json_parse: Json array has no interface.\n"); ret = RET_INPUTERR; goto out; } @@ -1287,7 +1288,10 @@ ret_code vlan_config_json_parse(pointer input, interface_vlan_info *if_vlan_info } cJSON *ifName = cJSON_GetObjectItem(node, "if-name"); if(!ifName){ - continue; + //continue; + printf("[vlan]vlan_config_json_parse: json has no ifName node.\n"); + ret = RET_INPUTERR; + goto out; } if(NULL == ifName->valuestring){ printf("[vlan]vlan_config_json_parse: ifName->valuestring is null.\n"); @@ -1298,7 +1302,10 @@ ret_code vlan_config_json_parse(pointer input, interface_vlan_info *if_vlan_info printf("[vlan]if_vlan_info[%d].if_name=%s\n", i, if_vlan_info[i].if_name); cJSON *ifAttr = cJSON_GetObjectItem(node, "if-attr"); if(!ifAttr){ - continue; + //continue; + printf("[vlan]vlan_config_json_parse: Json has no ifAttr node.\n"); + ret = RET_INPUTERR; + goto out; } if(NULL == ifAttr->valuestring){ printf("[vlan]vlan_config_json_parse: ifAttr->valuestring is null.\n"); @@ -1311,15 +1318,23 @@ ret_code vlan_config_json_parse(pointer input, interface_vlan_info *if_vlan_info else if(!strcmp(ifAttr->valuestring, "access")){ if_vlan_info[i].attr = LINK_TYPE_ACCESS; } + else { + printf("[vlan]vlan_config_json_parse: errror: is not trunk or access.\n"); + ret = RET_INPUTERR; + goto out; + } cJSON *vId = cJSON_GetObjectItem(node, "vid"); if(!vId){ - continue; + //continue; + printf("[vlan]vlan_config_json_parse: Json has no vId node.\n"); + ret = RET_INPUTERR; + goto out; } /* 解析内层vid数组 */ vl_num = cJSON_GetArraySize(vId); if(vl_num == 0){ - printf("[vlan]vlan_config_json_parse: json array has no vid.\n"); + printf("[vlan]vlan_config_json_parse: Json array has no vid element.\n"); ret = RET_INPUTERR; goto out; } @@ -2077,7 +2092,11 @@ ret_code vlan_operate_parse(pointer input, int *oper_type) ret = RET_OK; goto out; } - + else { + printf("[vlan]vlan_operate_chk: operate-val is UNKNOWN, error.\n"); + ret = RET_INPUTERR; + goto out; + } out: if(root){ cJSON_Delete(root);