fib: refresh adj pointer after fib_walk_sync due to possible realloc 61/24761/1
authorSteven Luong <sluong@cisco.com>
Thu, 30 Jan 2020 17:11:18 +0000 (09:11 -0800)
committersteven luong <sluong@cisco.com>
Mon, 3 Feb 2020 15:06:38 +0000 (15:06 +0000)
commit1934b13d3673ec1f86a025ed6094a9d5c0790170
tree2105c6f748a567673c6547e5b665b5c0ea860db9
parentfce396738f865293f0a023bc7f172086f81da456
fib: refresh adj pointer after fib_walk_sync due to possible realloc

fib_walk_sync may call adj_alloc which may cause adj_pool to expand. When
that happens, any previous frame which still use the old adj pointer needs to
refresh. Failure to do so may access or update to the old adj memory
unintentionally and crash mysteriously.

Type: fix
Ticket: VPPSUPP-54

Signed-off-by: Steven Luong <sluong@cisco.com>
Change-Id: I173dec4c5ce81c6e26c4fe011b894a7345901b24
(cherry picked from commit 3d5f6229bccf77fcf7e0e17ab4f1b361fedd1b2b)
src/vnet/adj/adj_nbr.c
src/vnet/ip-neighbor/ip_neighbor.c