diff options
Diffstat (limited to 'pimd/pim_msdp_socket.c')
| -rw-r--r-- | pimd/pim_msdp_socket.c | 16 |
1 files changed, 3 insertions, 13 deletions
diff --git a/pimd/pim_msdp_socket.c b/pimd/pim_msdp_socket.c index b0e7b39d7b..feac42cf53 100644 --- a/pimd/pim_msdp_socket.c +++ b/pimd/pim_msdp_socket.c @@ -176,19 +176,9 @@ int pim_msdp_sock_listen(struct pim_instance *pim) } } - if (pimd_privs.change(ZPRIVS_RAISE)) { - flog_err(LIB_ERR_PRIVILEGES, - "pim_msdp_socket: could not raise privs, %s", - safe_strerror(errno)); - } - - /* bind to well known TCP port */ - rc = bind(sock, (struct sockaddr *)&sin, socklen); - - if (pimd_privs.change(ZPRIVS_LOWER)) { - flog_err(LIB_ERR_PRIVILEGES, - "pim_msdp_socket: could not lower privs, %s", - safe_strerror(errno)); + frr_elevate_privs(&pimd_privs) { + /* bind to well known TCP port */ + rc = bind(sock, (struct sockaddr *)&sin, socklen); } if (rc < 0) { |
