nat: fix static mapping segv 86/34086/3
authorJoshua Roys <roysjosh@gmail.com>
Tue, 12 Oct 2021 13:25:47 +0000 (09:25 -0400)
committerDamjan Marion <dmarion@me.com>
Wed, 13 Oct 2021 14:32:15 +0000 (14:32 +0000)
Adding a nat44 static mapping during startup on a DHCP interface leads
to a segv via this path:
- dhcp_client_acquire_address
- ip4_add_del_interface_address
- ip4_add_del_interface_address_internal
- nat44_ed_add_del_interface_address_cb
- nat44_ed_add_static_mapping
- ip4_interface_first_address

Type: fix

Signed-off-by: Joshua Roys <roysjosh@gmail.com>
Change-Id: I38dac8a096b052550f2b87b4e13a950d2cd868b0

src/plugins/nat/nat44-ed/nat44_ed.c

index a110436..e949df2 100644 (file)
@@ -3342,7 +3342,7 @@ nat44_ed_add_del_interface_address_cb (ip4_main_t *im, uword opaque,
            {
              rv = nat44_ed_add_static_mapping (
                rp->l_addr, address[0], rp->l_port, rp->e_port, rp->proto,
-               rp->vrf_id, ~0, rp->flags, rp->pool_addr, rp->tag);
+               rp->vrf_id, sw_if_index, rp->flags, rp->pool_addr, rp->tag);
              if (rv)
                {
                  nat_elog_notice_X1 (sm, "add_static_mapping returned %d",