Merge r272385 by melifaro from head:
Free radix mask entries on main radix destroy. This is temporary commit to be merged to 10. Other approach (like hash table) should be used to store different masks. PR: 194078
This commit is contained in:
parent
86f98e492e
commit
9ea3e68626
@ -1204,6 +1204,18 @@ rn_inithead(void **head, int off)
|
||||
return (1);
|
||||
}
|
||||
|
||||
static int
|
||||
rn_freeentry(struct radix_node *rn, void *arg)
|
||||
{
|
||||
struct radix_node_head * const rnh = arg;
|
||||
struct radix_node *x;
|
||||
|
||||
x = (struct radix_node *)rn_delete(rn + 2, NULL, rnh);
|
||||
if (x != NULL)
|
||||
Free(x);
|
||||
return (0);
|
||||
}
|
||||
|
||||
int
|
||||
rn_detachhead(void **head)
|
||||
{
|
||||
@ -1214,6 +1226,7 @@ rn_detachhead(void **head)
|
||||
|
||||
rnh = *head;
|
||||
|
||||
rn_walktree(rnh->rnh_masks, rn_freeentry, rnh->rnh_masks);
|
||||
rn_detachhead_internal((void **)&rnh->rnh_masks);
|
||||
rn_detachhead_internal(head);
|
||||
return (1);
|
||||
|
Loading…
x
Reference in New Issue
Block a user