DHCPv6 Proxy; fix crash when DHCPv6 prxy is not configured and client packet is received 14/4714/2
authorNeale Ranns <neale.ranns@cisco.com>
Mon, 16 Jan 2017 17:09:40 +0000 (18:09 +0100)
committerDamjan Marion <dmarion.lists@gmail.com>
Tue, 17 Jan 2017 00:26:26 +0000 (00:26 +0000)
Change-Id: I0250acdee803545b8923549e2099863a95544691
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
src/vnet/dhcpv6/proxy_node.c

index 40df35c..4dd2239 100644 (file)
@@ -244,7 +244,11 @@ dhcpv6_proxy_to_server_input (vlib_main_t * vm,
           /* Send to DHCPV6 server via the configured FIB */
           rx_sw_if_index = sw_if_index =  vnet_buffer(b0)->sw_if_index[VLIB_RX];
           rx_fib_idx = im->fib_index_by_sw_if_index [rx_sw_if_index];
-          server_idx = dpm->dhcp6_server_index_by_rx_fib_index[rx_fib_idx];
+
+         if (vec_len(dpm->dhcp6_server_index_by_rx_fib_index) <= rx_fib_idx)
+           goto no_server;
+
+         server_idx = dpm->dhcp6_server_index_by_rx_fib_index[rx_fib_idx];
 
           if (PREDICT_FALSE (pool_is_free_index (dpm->dhcp6_servers,
                                                           server_idx)))