summaryrefslogtreecommitdiff
path: root/pimd/pim_cmd_common.c
diff options
context:
space:
mode:
authorBarry A. Trent <barry.trent@atcorp.com>2024-09-26 14:49:19 -0700
committerBarry A. Trent <barry.trent@atcorp.com>2024-09-27 13:39:30 -0700
commitba4555c646f68cbcda8b075abb7fee74ca06a2d6 (patch)
tree6e98b4c8edd977a1cd9fe041eac1b9c5355b3275 /pimd/pim_cmd_common.c
parent51b19f9ce371e41add3772594dacf8e1ee7dfb96 (diff)
pimd: fix autorp CLI bugs
Signed-off-by: Barry A. Trent <barry.trent@atcorp.com>
Diffstat (limited to 'pimd/pim_cmd_common.c')
-rw-r--r--pimd/pim_cmd_common.c8
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);