mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-09 09:22:32 +00:00
lib: call filter delete hook before freeing access list
The delete_hook was being run after calling access list delete function. This would cause ospf to dereference a NULL, in ospf_filter_update because 'access->name' was already freed. See also: https://bugzilla.vyatta.com/show_bug.cgi?id=7654
This commit is contained in:
parent
ce77002e90
commit
ed269db39a
12
lib/filter.c
12
lib/filter.c
@ -1337,13 +1337,13 @@ DEFUN (no_access_list_all,
|
|||||||
|
|
||||||
master = access->master;
|
master = access->master;
|
||||||
|
|
||||||
/* Delete all filter from access-list. */
|
|
||||||
access_list_delete (access);
|
|
||||||
|
|
||||||
/* Run hook function. */
|
/* Run hook function. */
|
||||||
if (master->delete_hook)
|
if (master->delete_hook)
|
||||||
(*master->delete_hook) (access);
|
(*master->delete_hook) (access);
|
||||||
|
|
||||||
|
/* Delete all filter from access-list. */
|
||||||
|
access_list_delete (access);
|
||||||
|
|
||||||
return CMD_SUCCESS;
|
return CMD_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1508,13 +1508,13 @@ DEFUN (no_ipv6_access_list_all,
|
|||||||
|
|
||||||
master = access->master;
|
master = access->master;
|
||||||
|
|
||||||
/* Delete all filter from access-list. */
|
|
||||||
access_list_delete (access);
|
|
||||||
|
|
||||||
/* Run hook function. */
|
/* Run hook function. */
|
||||||
if (master->delete_hook)
|
if (master->delete_hook)
|
||||||
(*master->delete_hook) (access);
|
(*master->delete_hook) (access);
|
||||||
|
|
||||||
|
/* Delete all filter from access-list. */
|
||||||
|
access_list_delete (access);
|
||||||
|
|
||||||
return CMD_SUCCESS;
|
return CMD_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user