diff options
Diffstat (limited to 'ospf6d')
-rw-r--r-- | ospf6d/ospf6_top.c | 26 | ||||
-rw-r--r-- | ospf6d/ospf6d.c | 15 |
2 files changed, 27 insertions, 14 deletions
diff --git a/ospf6d/ospf6_top.c b/ospf6d/ospf6_top.c index 82370268..65a184fb 100644 --- a/ospf6d/ospf6_top.c +++ b/ospf6d/ospf6_top.c @@ -14,9 +14,9 @@ * General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with GNU Zebra; see the file COPYING. If not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. + * along with GNU Zebra; see the file COPYING. If not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. */ #include <zebra.h> @@ -189,7 +189,7 @@ ospf6_disable (struct ospf6 *o) if (! CHECK_FLAG (o->flag, OSPF6_DISABLED)) { SET_FLAG (o->flag, OSPF6_DISABLED); - + for (ALL_LIST_ELEMENTS (o->area_list, node, nnode, oa)) ospf6_area_disable (oa); @@ -229,7 +229,7 @@ ospf6_maxage_remover (struct thread *thread) { for (ALL_LIST_ELEMENTS_RO (oa->if_list, j, oi)) OSPF6_LSDB_MAXAGE_REMOVER (oi->lsdb); - + OSPF6_LSDB_MAXAGE_REMOVER (oa->lsdb); } OSPF6_LSDB_MAXAGE_REMOVER (o->lsdb); @@ -520,9 +520,11 @@ DEFUN (show_ipv6_ospf6_route_match, "Display routes which match the specified route\n" ) { - const char *sargv[CMD_ARGC_MAX]; + const char** sargv ; int i, sargc; + sargv = XMALLOC(MTYPE_TMP, (argc + 2) * sizeof(char*)) ; + /* copy argv to sargv and then append "match" */ for (i = 0; i < argc; i++) sargv[i] = argv[i]; @@ -531,6 +533,8 @@ DEFUN (show_ipv6_ospf6_route_match, sargv[sargc] = NULL; ospf6_route_table_show (vty, sargc, sargv, ospf6->route_table); + + XFREE(MTYPE_TMP, sargv) ; return CMD_SUCCESS; } @@ -546,9 +550,11 @@ DEFUN (show_ipv6_ospf6_route_match_detail, "Detailed information\n" ) { - const char *sargv[CMD_ARGC_MAX]; + const char** sargv ; int i, sargc; + sargv = XMALLOC(MTYPE_TMP, (argc + 2) * sizeof(char*)) ; + /* copy argv to sargv and then append "match" and "detail" */ for (i = 0; i < argc; i++) sargv[i] = argv[i]; @@ -558,6 +564,7 @@ DEFUN (show_ipv6_ospf6_route_match_detail, sargv[sargc] = NULL; ospf6_route_table_show (vty, sargc, sargv, ospf6->route_table); + XFREE(MTYPE_TMP, sargv) ; return CMD_SUCCESS; } @@ -611,9 +618,11 @@ DEFUN (show_ipv6_ospf6_route_type_detail, "Detailed information\n" ) { - const char *sargv[CMD_ARGC_MAX]; + const char** sargv ; int i, sargc; + sargv = XMALLOC(MTYPE_TMP, (argc + 2) * sizeof(char*)) ; + /* copy argv to sargv and then append "detail" */ for (i = 0; i < argc; i++) sargv[i] = argv[i]; @@ -622,6 +631,7 @@ DEFUN (show_ipv6_ospf6_route_type_detail, sargv[sargc] = NULL; ospf6_route_table_show (vty, sargc, sargv, ospf6->route_table); + XFREE(MTYPE_TMP, sargv) ; return CMD_SUCCESS; } diff --git a/ospf6d/ospf6d.c b/ospf6d/ospf6d.c index bb091d4f..837a718e 100644 --- a/ospf6d/ospf6d.c +++ b/ospf6d/ospf6d.c @@ -14,9 +14,9 @@ * General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with GNU Zebra; see the file COPYING. If not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. + * along with GNU Zebra; see the file COPYING. If not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. */ #include <zebra.h> @@ -77,7 +77,7 @@ route_prev (struct route_node *node) return prev; } - + /* show database functions */ DEFUN (show_version_ospf6, show_version_ospf6_cmd, @@ -1733,12 +1733,14 @@ DEFUN (show_ipv6_ospf6_linkstate_detail, "Display linkstate routing table\n" ) { - const char *sargv[CMD_ARGC_MAX]; + const char** sargv; int i, sargc; struct listnode *node; struct ospf6_area *oa; - /* copy argv to sargv and then append "detail" */ + sargv = XMALLOC(MTYPE_TMP, (argc + 2) * sizeof(char*)) ; + + /* copy argv to sargv and then append "detail" */ for (i = 0; i < argc; i++) sargv[i] = argv[i]; sargc = argc; @@ -1753,6 +1755,7 @@ DEFUN (show_ipv6_ospf6_linkstate_detail, } vty_out (vty, "%s", VNL); + XFREE(MTYPE_TMP, sargv) ; return CMD_SUCCESS; } |