diff options
| author | Jafar Al-Gharaibeh <Jafaral@users.noreply.github.com> | 2017-08-31 10:25:55 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-08-31 10:25:55 -0500 |
| commit | 959768e8d049303c434bcb67e64d19bae65d073a (patch) | |
| tree | 0387049fc8de44d6a22fafe639f58f6cfb9113f7 /lib/routemap.c | |
| parent | edfb96d21eb0dc5ad4578d74597bc397e22f6e08 (diff) | |
| parent | 1e9f448fe1b60e464d187c96092d2cf6201e64e1 (diff) | |
Merge pull request #1044 from donaldsharp/combination
Coverity Cleanup of Stuff
Diffstat (limited to 'lib/routemap.c')
| -rw-r--r-- | lib/routemap.c | 129 |
1 files changed, 67 insertions, 62 deletions
diff --git a/lib/routemap.c b/lib/routemap.c index a70248633c..409c9c3780 100644 --- a/lib/routemap.c +++ b/lib/routemap.c @@ -416,23 +416,25 @@ int generic_match_add(struct vty *vty, struct route_map_index *index, int ret; ret = route_map_add_match(index, command, arg); - if (ret) { - switch (ret) { - case RMAP_RULE_MISSING: - vty_out(vty, "%% [%s] Can't find rule.\n", - frr_protonameinst); - return CMD_WARNING_CONFIG_FAILED; - case RMAP_COMPILE_ERROR: - vty_out(vty, - "%% [%s] Argument form is unsupported or malformed.\n", - frr_protonameinst); - return CMD_WARNING_CONFIG_FAILED; + switch (ret) { + case RMAP_COMPILE_SUCCESS: + if (type != RMAP_EVENT_MATCH_ADDED) { + route_map_upd8_dependency(type, arg, index->map->name); } + break; + case RMAP_RULE_MISSING: + vty_out(vty, "%% [%s] Can't find rule.\n", + frr_protonameinst); + return CMD_WARNING_CONFIG_FAILED; + break; + case RMAP_COMPILE_ERROR: + vty_out(vty, + "%% [%s] Argument form is unsupported or malformed.\n", + frr_protonameinst); + return CMD_WARNING_CONFIG_FAILED; + break; } - if (type != RMAP_EVENT_MATCH_ADDED) { - route_map_upd8_dependency(type, arg, index->map->name); - } return CMD_SUCCESS; } @@ -441,6 +443,7 @@ int generic_match_delete(struct vty *vty, struct route_map_index *index, route_map_event_t type) { int ret; + int retval = CMD_SUCCESS; char *dep_name = NULL; const char *tmpstr; char *rmap_name = NULL; @@ -459,34 +462,30 @@ int generic_match_delete(struct vty *vty, struct route_map_index *index, } ret = route_map_delete_match(index, command, dep_name); - if (ret) { - switch (ret) { - case RMAP_RULE_MISSING: - vty_out(vty, "%% [%s] Can't find rule.\n", - frr_protonameinst); - break; - case RMAP_COMPILE_ERROR: - vty_out(vty, - "%% [%s] Argument form is unsupported or malformed.\n", - frr_protonameinst); - break; - } - if (dep_name) - XFREE(MTYPE_ROUTE_MAP_RULE, dep_name); - if (rmap_name) - XFREE(MTYPE_ROUTE_MAP_NAME, rmap_name); - return CMD_WARNING_CONFIG_FAILED; + switch (ret) { + case RMAP_RULE_MISSING: + vty_out(vty, "%% [%s] Can't find rule.\n", + frr_protonameinst); + retval = CMD_WARNING_CONFIG_FAILED; + break; + case RMAP_COMPILE_ERROR: + vty_out(vty, + "%% [%s] Argument form is unsupported or malformed.\n", + frr_protonameinst); + retval = CMD_WARNING_CONFIG_FAILED; + break; + case RMAP_COMPILE_SUCCESS: + if (type != RMAP_EVENT_MATCH_DELETED && dep_name) + route_map_upd8_dependency(type, dep_name, rmap_name); + break; } - if (type != RMAP_EVENT_MATCH_DELETED && dep_name) - route_map_upd8_dependency(type, dep_name, rmap_name); - if (dep_name) XFREE(MTYPE_ROUTE_MAP_RULE, dep_name); if (rmap_name) XFREE(MTYPE_ROUTE_MAP_NAME, rmap_name); - return CMD_SUCCESS; + return retval; } int generic_set_add(struct vty *vty, struct route_map_index *index, @@ -495,19 +494,22 @@ int generic_set_add(struct vty *vty, struct route_map_index *index, int ret; ret = route_map_add_set(index, command, arg); - if (ret) { - switch (ret) { - case RMAP_RULE_MISSING: - vty_out(vty, "%% [%s] Can't find rule.\n", - frr_protonameinst); - return CMD_WARNING_CONFIG_FAILED; - case RMAP_COMPILE_ERROR: - vty_out(vty, - "%% [%s] Argument form is unsupported or malformed.\n", - frr_protonameinst); - return CMD_WARNING_CONFIG_FAILED; - } + switch (ret) { + case RMAP_RULE_MISSING: + vty_out(vty, "%% [%s] Can't find rule.\n", + frr_protonameinst); + return CMD_WARNING_CONFIG_FAILED; + break; + case RMAP_COMPILE_ERROR: + vty_out(vty, + "%% [%s] Argument form is unsupported or malformed.\n", + frr_protonameinst); + return CMD_WARNING_CONFIG_FAILED; + break; + case RMAP_COMPILE_SUCCESS: + break; } + return CMD_SUCCESS; } @@ -517,19 +519,22 @@ int generic_set_delete(struct vty *vty, struct route_map_index *index, int ret; ret = route_map_delete_set(index, command, arg); - if (ret) { - switch (ret) { - case RMAP_RULE_MISSING: - vty_out(vty, "%% [%s] Can't find rule.\n", - frr_protonameinst); - return CMD_WARNING_CONFIG_FAILED; - case RMAP_COMPILE_ERROR: - vty_out(vty, - "%% [%s] Argument form is unsupported or malformed.\n", - frr_protonameinst); - return CMD_WARNING_CONFIG_FAILED; - } + switch (ret) { + case RMAP_RULE_MISSING: + vty_out(vty, "%% [%s] Can't find rule.\n", + frr_protonameinst); + return CMD_WARNING_CONFIG_FAILED; + break; + case RMAP_COMPILE_ERROR: + vty_out(vty, + "%% [%s] Argument form is unsupported or malformed.\n", + frr_protonameinst); + return CMD_WARNING_CONFIG_FAILED; + break; + case RMAP_COMPILE_SUCCESS: + break; } + return CMD_SUCCESS; } @@ -1217,7 +1222,7 @@ int route_map_add_match(struct route_map_index *index, const char *match_name, RMAP_EVENT_CALL_ADDED); } - return 0; + return RMAP_COMPILE_SUCCESS; } /* Delete specified route match rule. */ @@ -1304,7 +1309,7 @@ int route_map_add_set(struct route_map_index *index, const char *set_name, route_map_notify_dependencies(index->map->name, RMAP_EVENT_CALL_ADDED); } - return 0; + return RMAP_COMPILE_SUCCESS; } /* Delete route map set rule. */ @@ -2201,7 +2206,7 @@ DEFUN (no_set_ip_nexthop, "Next hop address\n" "IP address of next hop\n") { - int idx; + int idx = 0; VTY_DECLVAR_CONTEXT(route_map_index, index); const char *arg = NULL; |
