summaryrefslogtreecommitdiff
path: root/vrrpd
diff options
context:
space:
mode:
authorLoganaden Velvindron <logan@cyberstorm.mu>2023-06-08 14:48:17 +0400
committerLoganaden Velvindron <logan@cyberstorm.mu>2023-06-13 16:56:12 +0400
commit56e52d830b6cefeb7aea78d63229589559706080 (patch)
treeaecfc70ce8359c601794f7ffd4912574eb46d2ed /vrrpd
parent99bd15405cbd83aea2c8f71eebeeba11f8be0ec4 (diff)
vrrp: check return value for turning off multicast for v6
CID1519841: check return value and set error Signed-off-by: Loganaden Velvindron <logan@cyberstorm.mu>
Diffstat (limited to 'vrrpd')
-rw-r--r--vrrpd/vrrp.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/vrrpd/vrrp.c b/vrrpd/vrrp.c
index 7a779307d9..b14a6ecc47 100644
--- a/vrrpd/vrrp.c
+++ b/vrrpd/vrrp.c
@@ -1240,7 +1240,13 @@ static int vrrp_socket(struct vrrp_router *r)
}
/* Turn off multicast loop on Tx */
- setsockopt_ipv6_multicast_loop(r->sock_tx, 0);
+ if (setsockopt_ipv6_multicast_loop(r->sock_tx, 0) < 0) {
+ zlog_warn(VRRP_LOGPFX VRRP_LOGPFX_VRID VRRP_LOGPFX_FAM
+ "Failed to turn off IPv6 multicast",
+ r->vr->vrid, family2str(r->family));
+ failed = true;
+ goto done;
+ }
/* Bind Rx socket to exact interface */
frr_with_privs(&vrrp_privs) {