diff options
Diffstat (limited to 'pimd/pim_cmd_common.c')
| -rw-r--r-- | pimd/pim_cmd_common.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/pimd/pim_cmd_common.c b/pimd/pim_cmd_common.c index be7460d0fb..02ddea8252 100644 --- a/pimd/pim_cmd_common.c +++ b/pimd/pim_cmd_common.c @@ -639,9 +639,9 @@ int pim_process_autorp_candidate_rp_cmd(struct vty *vty, bool no, char grpstr[64]; if (no) { - if (!is_default_prefix((const struct prefix *)grp) || plist) { + if ((grp && !is_default_prefix((const struct prefix *)grp)) || plist) { /* If any single values are set, only destroy those */ - if (!is_default_prefix((const struct prefix *)grp)) { + if (grp && !is_default_prefix((const struct prefix *)grp)) { snprintfrr(xpath, sizeof(xpath), "%s/candidate-rp-list[rp-address='%s']/group", FRR_PIM_AUTORP_XPATH, rpaddr_str); @@ -663,12 +663,12 @@ int pim_process_autorp_candidate_rp_cmd(struct vty *vty, bool no, nb_cli_enqueue_change(vty, xpath, NB_OP_DESTROY, NULL); } } else { - if (!is_default_prefix((const struct prefix *)grp) || plist) { + if ((grp && !is_default_prefix((const struct prefix *)grp)) || plist) { snprintfrr(xpath, sizeof(xpath), "%s/candidate-rp-list[rp-address='%s']", FRR_PIM_AUTORP_XPATH, rpaddr_str); nb_cli_enqueue_change(vty, xpath, NB_OP_CREATE, NULL); - if (!is_default_prefix((const struct prefix *)grp)) { + if (grp && !is_default_prefix((const struct prefix *)grp)) { snprintfrr(xpath, sizeof(xpath), "%s/candidate-rp-list[rp-address='%s']/group", FRR_PIM_AUTORP_XPATH, rpaddr_str); |
