summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--bgpd/bgp_evpn_vty.c16
-rw-r--r--ldpd/ldpd.c13
-rw-r--r--lib/libfrr.c30
-rw-r--r--ospf6d/ospf6_route.c16
-rw-r--r--ripd/rip_debug.c16
-rw-r--r--ripngd/ripng_debug.c16
-rw-r--r--zebra/zebra_vty.c4
7 files changed, 56 insertions, 55 deletions
diff --git a/bgpd/bgp_evpn_vty.c b/bgpd/bgp_evpn_vty.c
index 145890846b..07b86c05d6 100644
--- a/bgpd/bgp_evpn_vty.c
+++ b/bgpd/bgp_evpn_vty.c
@@ -3102,11 +3102,11 @@ DEFUN (bgp_evpn_vni_rt,
if (!bgp || !vpn)
return CMD_WARNING;
- if (!strcmp(argv[1]->arg, "import"))
+ if (!strcmp(argv[1]->text, "import"))
rt_type = RT_TYPE_IMPORT;
- else if (!strcmp(argv[1]->arg, "export"))
+ else if (!strcmp(argv[1]->text, "export"))
rt_type = RT_TYPE_EXPORT;
- else if (!strcmp(argv[1]->arg, "both"))
+ else if (!strcmp(argv[1]->text, "both"))
rt_type = RT_TYPE_BOTH;
else {
vty_out(vty, "%% Invalid Route Target type\n");
@@ -3164,11 +3164,11 @@ DEFUN (no_bgp_evpn_vni_rt,
if (!bgp || !vpn)
return CMD_WARNING;
- if (!strcmp(argv[2]->arg, "import"))
+ if (!strcmp(argv[2]->text, "import"))
rt_type = RT_TYPE_IMPORT;
- else if (!strcmp(argv[2]->arg, "export"))
+ else if (!strcmp(argv[2]->text, "export"))
rt_type = RT_TYPE_EXPORT;
- else if (!strcmp(argv[2]->arg, "both"))
+ else if (!strcmp(argv[2]->text, "both"))
rt_type = RT_TYPE_BOTH;
else {
vty_out(vty, "%% Invalid Route Target type\n");
@@ -3257,9 +3257,9 @@ DEFUN (no_bgp_evpn_vni_rt_without_val,
if (!bgp || !vpn)
return CMD_WARNING;
- if (!strcmp(argv[2]->arg, "import")) {
+ if (!strcmp(argv[2]->text, "import")) {
rt_type = RT_TYPE_IMPORT;
- } else if (!strcmp(argv[2]->arg, "export")) {
+ } else if (!strcmp(argv[2]->text, "export")) {
rt_type = RT_TYPE_EXPORT;
} else {
vty_out(vty, "%% Invalid Route Target type\n");
diff --git a/ldpd/ldpd.c b/ldpd/ldpd.c
index a79e63229f..843d160d62 100644
--- a/ldpd/ldpd.c
+++ b/ldpd/ldpd.c
@@ -450,10 +450,15 @@ start_child(enum ldpd_process p, char *argv0, int fd_async, int fd_sync)
}
nullfd = open("/dev/null", O_RDONLY | O_NOCTTY);
- dup2(nullfd, 0);
- dup2(nullfd, 1);
- dup2(nullfd, 2);
- close(nullfd);
+ if (nullfd == -1) {
+ zlog_err("%s: failed to open /dev/null: %s", __func__,
+ safe_strerror(errno));
+ } else {
+ dup2(nullfd, 0);
+ dup2(nullfd, 1);
+ dup2(nullfd, 2);
+ close(nullfd);
+ }
if (dup2(fd_async, LDPD_FD_ASYNC) == -1)
fatal("cannot setup imsg async fd");
diff --git a/lib/libfrr.c b/lib/libfrr.c
index 2859f062c1..6cb8711edf 100644
--- a/lib/libfrr.c
+++ b/lib/libfrr.c
@@ -768,6 +768,8 @@ void frr_vty_serv(void)
static void frr_terminal_close(int isexit)
{
+ int nullfd;
+
if (daemon_ctl_sock != -1) {
close(daemon_ctl_sock);
daemon_ctl_sock = -1;
@@ -783,11 +785,16 @@ static void frr_terminal_close(int isexit)
fflush(stdout);
}
- int nullfd = open("/dev/null", O_RDONLY | O_NOCTTY);
- dup2(nullfd, 0);
- dup2(nullfd, 1);
- dup2(nullfd, 2);
- close(nullfd);
+ nullfd = open("/dev/null", O_RDONLY | O_NOCTTY);
+ if (nullfd == -1) {
+ zlog_err("%s: failed to open /dev/null: %s", __func__,
+ safe_strerror(errno));
+ } else {
+ dup2(nullfd, 0);
+ dup2(nullfd, 1);
+ dup2(nullfd, 2);
+ close(nullfd);
+ }
}
static struct thread *daemon_ctl_thread = NULL;
@@ -849,10 +856,15 @@ void frr_run(struct thread_master *master)
}
} else if (di->daemon_mode) {
int nullfd = open("/dev/null", O_RDONLY | O_NOCTTY);
- dup2(nullfd, 0);
- dup2(nullfd, 1);
- dup2(nullfd, 2);
- close(nullfd);
+ if (nullfd == -1) {
+ zlog_err("%s: failed to open /dev/null: %s", __func__,
+ safe_strerror(errno));
+ } else {
+ dup2(nullfd, 0);
+ dup2(nullfd, 1);
+ dup2(nullfd, 2);
+ close(nullfd);
+ }
if (daemon_ctl_sock != -1)
close(daemon_ctl_sock);
diff --git a/ospf6d/ospf6_route.c b/ospf6d/ospf6_route.c
index 724258d2fe..5b78dda688 100644
--- a/ospf6d/ospf6_route.c
+++ b/ospf6d/ospf6_route.c
@@ -1469,13 +1469,13 @@ DEFUN (debug_ospf6_route,
int idx_type = 3;
unsigned char level = 0;
- if (!strncmp(argv[idx_type]->arg, "table", 5))
+ if (!strcmp(argv[idx_type]->text, "table"))
level = OSPF6_DEBUG_ROUTE_TABLE;
- else if (!strncmp(argv[idx_type]->arg, "intra", 5))
+ else if (!strcmp(argv[idx_type]->text, "intra-area"))
level = OSPF6_DEBUG_ROUTE_INTRA;
- else if (!strncmp(argv[idx_type]->arg, "inter", 5))
+ else if (!strcmp(argv[idx_type]->text, "inter-area"))
level = OSPF6_DEBUG_ROUTE_INTER;
- else if (!strncmp(argv[idx_type]->arg, "memor", 5))
+ else if (!strcmp(argv[idx_type]->text, "memory"))
level = OSPF6_DEBUG_ROUTE_MEMORY;
OSPF6_DEBUG_ROUTE_ON(level);
return CMD_SUCCESS;
@@ -1496,13 +1496,13 @@ DEFUN (no_debug_ospf6_route,
int idx_type = 4;
unsigned char level = 0;
- if (!strncmp(argv[idx_type]->arg, "table", 5))
+ if (!strcmp(argv[idx_type]->text, "table"))
level = OSPF6_DEBUG_ROUTE_TABLE;
- else if (!strncmp(argv[idx_type]->arg, "intra", 5))
+ else if (!strcmp(argv[idx_type]->text, "intra-area"))
level = OSPF6_DEBUG_ROUTE_INTRA;
- else if (!strncmp(argv[idx_type]->arg, "inter", 5))
+ else if (!strcmp(argv[idx_type]->text, "inter-area"))
level = OSPF6_DEBUG_ROUTE_INTER;
- else if (!strncmp(argv[idx_type]->arg, "memor", 5))
+ else if (!strcmp(argv[idx_type]->text, "memory"))
level = OSPF6_DEBUG_ROUTE_MEMORY;
OSPF6_DEBUG_ROUTE_OFF(level);
return CMD_SUCCESS;
diff --git a/ripd/rip_debug.c b/ripd/rip_debug.c
index 56ba8e7f3e..2ce289e38f 100644
--- a/ripd/rip_debug.c
+++ b/ripd/rip_debug.c
@@ -93,13 +93,9 @@ DEFUN (debug_rip_packet_direct,
{
int idx_recv_send = 3;
rip_debug_packet |= RIP_DEBUG_PACKET;
- if (strncmp("send", argv[idx_recv_send]->arg,
- strlen(argv[idx_recv_send]->arg))
- == 0)
+ if (strcmp("send", argv[idx_recv_send]->text) == 0)
rip_debug_packet |= RIP_DEBUG_SEND;
- if (strncmp("recv", argv[idx_recv_send]->arg,
- strlen(argv[idx_recv_send]->arg))
- == 0)
+ if (strcmp("recv", argv[idx_recv_send]->text) == 0)
rip_debug_packet |= RIP_DEBUG_RECV;
return CMD_SUCCESS;
}
@@ -150,16 +146,12 @@ DEFUN (no_debug_rip_packet_direct,
"RIP option set for send packet\n")
{
int idx_recv_send = 4;
- if (strncmp("send", argv[idx_recv_send]->arg,
- strlen(argv[idx_recv_send]->arg))
- == 0) {
+ if (strcmp("send", argv[idx_recv_send]->text) == 0) {
if (IS_RIP_DEBUG_RECV)
rip_debug_packet &= ~RIP_DEBUG_SEND;
else
rip_debug_packet = 0;
- } else if (strncmp("recv", argv[idx_recv_send]->arg,
- strlen(argv[idx_recv_send]->arg))
- == 0) {
+ } else if (strcmp("recv", argv[idx_recv_send]->text) == 0) {
if (IS_RIP_DEBUG_SEND)
rip_debug_packet &= ~RIP_DEBUG_RECV;
else
diff --git a/ripngd/ripng_debug.c b/ripngd/ripng_debug.c
index 9ebc302b1b..c8cad23add 100644
--- a/ripngd/ripng_debug.c
+++ b/ripngd/ripng_debug.c
@@ -94,13 +94,9 @@ DEFUN (debug_ripng_packet_direct,
{
int idx_recv_send = 3;
ripng_debug_packet |= RIPNG_DEBUG_PACKET;
- if (strncmp("send", argv[idx_recv_send]->arg,
- strlen(argv[idx_recv_send]->arg))
- == 0)
+ if (strcmp("send", argv[idx_recv_send]->text) == 0)
ripng_debug_packet |= RIPNG_DEBUG_SEND;
- if (strncmp("recv", argv[idx_recv_send]->arg,
- strlen(argv[idx_recv_send]->arg))
- == 0)
+ if (strcmp("recv", argv[idx_recv_send]->text) == 0)
ripng_debug_packet |= RIPNG_DEBUG_RECV;
return CMD_SUCCESS;
@@ -152,16 +148,12 @@ DEFUN (no_debug_ripng_packet_direct,
"Debug option set for send packet\n")
{
int idx_recv_send = 4;
- if (strncmp("send", argv[idx_recv_send]->arg,
- strlen(argv[idx_recv_send]->arg))
- == 0) {
+ if (strcmp("send", argv[idx_recv_send]->text) == 0) {
if (IS_RIPNG_DEBUG_RECV)
ripng_debug_packet &= ~RIPNG_DEBUG_SEND;
else
ripng_debug_packet = 0;
- } else if (strncmp("recv", argv[idx_recv_send]->arg,
- strlen(argv[idx_recv_send]->arg))
- == 0) {
+ } else if (strcmp("recv", argv[idx_recv_send]->text) == 0) {
if (IS_RIPNG_DEBUG_SEND)
ripng_debug_packet &= ~RIPNG_DEBUG_RECV;
else
diff --git a/zebra/zebra_vty.c b/zebra/zebra_vty.c
index 04cd17cedb..d86cc88b42 100644
--- a/zebra/zebra_vty.c
+++ b/zebra/zebra_vty.c
@@ -455,7 +455,7 @@ static void vty_show_ip_route_detail(struct vty *vty, struct route_node *rn,
vty_out(vty, ", distance %u, metric %u", re->distance,
re->metric);
if (re->tag)
- vty_out(vty, ", tag %d", re->tag);
+ vty_out(vty, ", tag %u", re->tag);
if (re->mtu)
vty_out(vty, ", mtu %u", re->mtu);
if (re->vrf_id != VRF_DEFAULT) {
@@ -829,7 +829,7 @@ static void vty_show_ip_route(struct vty *vty, struct route_node *rn,
/* Distance and metric display. */
if (re->type != ZEBRA_ROUTE_CONNECT)
- len += vty_out(vty, " [%d/%d]", re->distance,
+ len += vty_out(vty, " [%u/%u]", re->distance,
re->metric);
} else {
vty_out(vty, " %c%*c",