]> git.proxmox.com Git - mirror_frr.git/commit - isisd/isis_spf.c
isisd: fix a memory leak in isis_spftree_clear()
authorLouis Scalbert <louis.scalbert@6wind.com>
Thu, 27 Apr 2023 12:50:47 +0000 (14:50 +0200)
committerLouis Scalbert <louis.scalbert@6wind.com>
Thu, 27 Apr 2023 13:39:23 +0000 (15:39 +0200)
commit771d544a5b45f8509761ff78c85020715579206d
tree96310941e76d6152569575a902024f79b40ab9f5
parent5c284625963812bc4241e10fe415429c81fce9a3
isisd: fix a memory leak in isis_spftree_clear()

isis_spftree_clear() calls:
  - _isis_spftree_del() to partially delete a spftree instance
    without freeing spftree->route_table and
    spftree->route_table_backup.
  - then _isis_spftree_init() that allocates new spftree->route_table
    and spftree->route_table_backup.

As a consequence, the previous table instances are not referenced and
not freed.

Free the route tables before allocating new ones.

Fixes: 860b75b40e ("isisd: calculate flex-algo constraint spf")
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
isisd/isis_spf.c