From cac3b5c435613b51eddf7db4518aa6b730afb031 Mon Sep 17 00:00:00 2001 From: Paul Jakma Date: Thu, 11 May 2006 13:31:11 +0000 Subject: [ospfd] Fix missing check for ospf_lookup NULL return, CID #70 2006-05-11 Paul Jakma * ospf_vty.c: (general) Audit ospf_lookup calls in commands, ensure check for NULL result, make vty messages consistent. (show_ip_ospf_interface) Missing NULL check on ospf_lookup result, fixes Coverity CID #70. --- ospfd/ChangeLog | 7 +++++++ ospfd/ospf_vty.c | 38 ++++++++++++++++++++++---------------- 2 files changed, 29 insertions(+), 16 deletions(-) (limited to 'ospfd') diff --git a/ospfd/ChangeLog b/ospfd/ChangeLog index 99599f54..46639516 100644 --- a/ospfd/ChangeLog +++ b/ospfd/ChangeLog @@ -1,3 +1,10 @@ +2006-05-11 Paul Jakma + + * ospf_vty.c: (general) Audit ospf_lookup calls in commands, + ensure check for NULL result, make vty messages consistent. + (show_ip_ospf_interface) Missing NULL check on ospf_lookup + result, fixes Coverity CID #70. + 2006-04-24 Paul Jakma * (general) More Virtual-link fixes, again with much help in diff --git a/ospfd/ospf_vty.c b/ospfd/ospf_vty.c index 74361bcb..c5a69dce 100644 --- a/ospfd/ospf_vty.c +++ b/ospfd/ospf_vty.c @@ -2860,6 +2860,11 @@ DEFUN (show_ip_ospf_interface, struct listnode *node; ospf = ospf_lookup (); + if (ospf == NULL) + { + vty_out (vty, "OSPF Routing Process not enabled%s", VTY_NEWLINE); + return CMD_SUCCESS; + } /* Show All Interfaces. */ if (argc == 0) @@ -3976,7 +3981,10 @@ DEFUN (show_ip_ospf_database, ospf = ospf_lookup (); if (ospf == NULL) - return CMD_SUCCESS; + { + vty_out (vty, " OSPF Routing Process not enabled%s", VTY_NEWLINE); + return CMD_SUCCESS; + } vty_out (vty, "%s OSPF Router with ID (%s)%s%s", VTY_NEWLINE, inet_ntoa (ospf->router_id), VTY_NEWLINE, VTY_NEWLINE); @@ -4114,7 +4122,10 @@ DEFUN (show_ip_ospf_database_type_adv_router, ospf = ospf_lookup (); if (ospf == NULL) - return CMD_SUCCESS; + { + vty_out (vty, " OSPF Routing Process not enabled%s", VTY_NEWLINE); + return CMD_SUCCESS; + } vty_out (vty, "%s OSPF Router with ID (%s)%s%s", VTY_NEWLINE, inet_ntoa (ospf->router_id), VTY_NEWLINE, VTY_NEWLINE); @@ -4736,10 +4747,7 @@ ospf_vty_dead_interval_set (struct vty *vty, const char *interval_str, struct ospf_if_params *params; struct ospf_interface *oi; struct route_node *rn; - struct ospf *ospf; - ospf = ospf_lookup (); - params = IF_DEF_PARAMS (ifp); if (nbr_str) @@ -4787,7 +4795,8 @@ ospf_vty_dead_interval_set (struct vty *vty, const char *interval_str, /* Update timer values in neighbor structure. */ if (nbr_str) { - if (ospf) + struct ospf *ospf; + if ((ospf = ospf_lookup())) { oi = ospf_if_lookup_by_local_addr (ospf, ifp, addr); if (oi) @@ -4877,9 +4886,6 @@ DEFUN (no_ip_ospf_dead_interval, struct ospf_if_params *params; struct ospf_interface *oi; struct route_node *rn; - struct ospf *ospf; - - ospf = ospf_lookup (); ifp = vty->index; params = IF_DEF_PARAMS (ifp); @@ -4914,7 +4920,9 @@ DEFUN (no_ip_ospf_dead_interval, /* Update timer values in neighbor structure. */ if (argc == 1) { - if (ospf) + struct ospf *ospf; + + if ((ospf = ospf_lookup())) { oi = ospf_if_lookup_by_local_addr (ospf, ifp, addr); if (oi) @@ -7138,10 +7146,9 @@ DEFUN (show_ip_ospf_border_routers, { struct ospf *ospf; - ospf = ospf_lookup (); - if (ospf == NULL) + if ((ospf = ospf_lookup ()) == NULL) { - vty_out (vty, "OSPF is not enabled%s", VTY_NEWLINE); + vty_out (vty, " OSPF Routing Process not enabled%s", VTY_NEWLINE); return CMD_SUCCESS; } @@ -7170,10 +7177,9 @@ DEFUN (show_ip_ospf_route, { struct ospf *ospf; - ospf = ospf_lookup (); - if (ospf == NULL) + if ((ospf = ospf_lookup ()) == NULL) { - vty_out (vty, "OSPF is not enabled%s", VTY_NEWLINE); + vty_out (vty, " OSPF Routing Process not enabled%s", VTY_NEWLINE); return CMD_SUCCESS; } -- cgit v1.2.1