summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Hammers <ch@debian.org>2011-09-12 14:23:05 +0400
committerDenis Ovsienko <infrastation@yandex.ru>2011-09-25 18:13:26 +0400
commitc8049c165cdab08cb8024881376080b58ebc9eae (patch)
tree8f2c73bf6fb9f4069c2d1233220a009a4320e34c
parent2e35e96a11ac7bdf82ad68056f94135dc41a0995 (diff)
ospf6d: fix crash on filter-list handling (BZ#530)
This essentially merges the fix available from Debian build of Quagga. * ospf6_area.c * area_filter_list(): use correct argv indices * no_area_filter_list(): idem
-rw-r--r--ospf6d/ospf6_area.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/ospf6d/ospf6_area.c b/ospf6d/ospf6_area.c
index 88c4e65c..d73d996b 100644
--- a/ospf6d/ospf6_area.c
+++ b/ospf6d/ospf6_area.c
@@ -440,14 +440,14 @@ DEFUN (area_filter_list,
argc--;
argv++;
- plist = prefix_list_lookup (AFI_IP6, argv[1]);
- if (strncmp (argv[2], "in", 2) == 0)
+ plist = prefix_list_lookup (AFI_IP6, argv[0]);
+ if (strncmp (argv[1], "in", 2) == 0)
{
PREFIX_LIST_IN (area) = plist;
if (PREFIX_NAME_IN (area))
free (PREFIX_NAME_IN (area));
- PREFIX_NAME_IN (area) = strdup (argv[1]);
+ PREFIX_NAME_IN (area) = strdup (argv[0]);
ospf6_abr_reimport (area);
}
else
@@ -456,7 +456,7 @@ DEFUN (area_filter_list,
if (PREFIX_NAME_OUT (area))
free (PREFIX_NAME_OUT (area));
- PREFIX_NAME_OUT (area) = strdup (argv[1]);
+ PREFIX_NAME_OUT (area) = strdup (argv[0]);
ospf6_abr_enable_area (area);
}
@@ -482,11 +482,11 @@ DEFUN (no_area_filter_list,
argc--;
argv++;
- plist = prefix_list_lookup (AFI_IP6, argv[1]);
- if (strncmp (argv[2], "in", 2) == 0)
+ plist = prefix_list_lookup (AFI_IP6, argv[0]);
+ if (strncmp (argv[1], "in", 2) == 0)
{
if (PREFIX_NAME_IN (area))
- if (strcmp (PREFIX_NAME_IN (area), argv[1]) != 0)
+ if (strcmp (PREFIX_NAME_IN (area), argv[0]) != 0)
return CMD_SUCCESS;
PREFIX_LIST_IN (area) = NULL;
@@ -499,7 +499,7 @@ DEFUN (no_area_filter_list,
else
{
if (PREFIX_NAME_OUT (area))
- if (strcmp (PREFIX_NAME_OUT (area), argv[1]) != 0)
+ if (strcmp (PREFIX_NAME_OUT (area), argv[0]) != 0)
return CMD_SUCCESS;
PREFIX_LIST_OUT (area) = NULL;