mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-11 07:16:39 +00:00
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
This commit is contained in:
parent
2e35e96a11
commit
c8049c165c
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user