c11 safe string handling support
[vpp.git] / src / vnet / dhcp / dhcp6_client_common_dp.c
index 216bf5f..a6ed42d 100644 (file)
@@ -192,7 +192,7 @@ dhcpv6_client_node_fn (vlib_main_t * vm, vlib_node_runtime_t * node,
            ntohs (ip0->payload_length) - dhcpv6_ip6_palyoad_offset -
            sizeof (*dhcpv60);
 
-         memset (&report, 0, sizeof (report));
+         clib_memset (&report, 0, sizeof (report));
 
          sw_if_index = vnet_buffer (b0)->sw_if_index[VLIB_RX];
          if (sw_if_index >= vec_len (icm->client_state_by_sw_if_index))
@@ -395,6 +395,8 @@ dhcpv6_client_node_fn (vlib_main_t * vm, vlib_node_runtime_t * node,
                      r.n_addresses = vec_len (addresses);
                      r.addresses = addresses;
                      dhcp6_publish_report (&r);
+                     /* We just gave addresses to another process! */
+                     addresses = 0;
                    }
                  else
                    {
@@ -403,6 +405,8 @@ dhcpv6_client_node_fn (vlib_main_t * vm, vlib_node_runtime_t * node,
                      r.n_prefixes = vec_len (prefixes);
                      r.prefixes = prefixes;
                      dhcp6_pd_publish_report (&r);
+                     /* We just gave prefixes to another process! */
+                     prefixes = 0;
                    }
                }
              vec_free (addresses);