vlib: fix cli process stack overflow
[vpp.git] / src / vlib / unix / mc_socket.c
index 3f1cd99..86ee436 100644 (file)
@@ -85,7 +85,7 @@ sendmsg_helper (mc_socket_main_t * msm,
   struct msghdr h;
   word n_bytes, n_bytes_tx, n_retries;
 
-  memset (&h, 0, sizeof (h));
+  clib_memset (&h, 0, sizeof (h));
   h.msg_name = tx_addr;
   h.msg_namelen = sizeof (tx_addr[0]);
 
@@ -146,7 +146,7 @@ tx_ack (void *transport, mc_peer_id_t dest_peer_id, u32 buffer_index)
   vlib_main_t *vm = msm->mc_main.vlib_main;
   clib_error_t *error;
 
-  memset (&tx_addr, 0, sizeof (tx_addr));
+  clib_memset (&tx_addr, 0, sizeof (tx_addr));
   tx_addr.sin_family = AF_INET;
   tx_addr.sin_addr.s_addr = mc_socket_peer_id_get_address (dest_peer_id);
   tx_addr.sin_port = mc_socket_peer_id_get_port (dest_peer_id);
@@ -165,7 +165,7 @@ recvmsg_helper (mc_socket_main_t * msm,
   vlib_main_t *vm = msm->mc_main.vlib_main;
   vlib_buffer_t *b;
   uword n_left, n_alloc, n_mtu, i, i_rx;
-  const uword buffer_size = VLIB_BUFFER_DEFAULT_FREE_LIST_BYTES;
+  const uword buffer_size = vlib_buffer_get_default_data_size (vm);
   word n_bytes_left;
 
   /* Make sure we have at least a MTU worth of buffers. */
@@ -197,7 +197,7 @@ recvmsg_helper (mc_socket_main_t * msm,
   {
     struct msghdr h;
 
-    memset (&h, 0, sizeof (h));
+    clib_memset (&h, 0, sizeof (h));
     if (rx_addr)
       {
        h.msg_name = rx_addr;
@@ -250,7 +250,7 @@ mastership_socket_read_ready (clib_file_t * uf)
   mc_multicast_socket_t *ms =
     &msm->multicast_sockets[MC_TRANSPORT_MASTERSHIP];
   clib_error_t *error;
-  u32 bi;
+  u32 bi = 0;
 
   error = recvmsg_helper (msm, ms->socket, /* rx_addr */ 0, &bi,       /* drop_message */
                          0);
@@ -273,7 +273,7 @@ to_relay_socket_read_ready (clib_file_t * uf)
   mc_multicast_socket_t *ms_from_relay =
     &msm->multicast_sockets[MC_TRANSPORT_USER_REQUEST_FROM_RELAY];
   clib_error_t *error;
-  u32 bi;
+  u32 bi = 0;
   u32 is_master = mcm->relay_state == MC_RELAY_STATE_MASTER;
 
   /* Not the ordering master? Turf the msg */
@@ -304,7 +304,7 @@ from_relay_socket_read_ready (clib_file_t * uf)
   mc_multicast_socket_t *ms =
     &msm->multicast_sockets[MC_TRANSPORT_USER_REQUEST_FROM_RELAY];
   clib_error_t *error;
-  u32 bi;
+  u32 bi = 0;
 
   error = recvmsg_helper (msm, ms->socket, /* rx_addr */ 0, &bi,       /* drop_message */
                          0);
@@ -324,7 +324,7 @@ join_socket_read_ready (clib_file_t * uf)
   vlib_main_t *vm = mcm->vlib_main;
   mc_multicast_socket_t *ms = &msm->multicast_sockets[MC_TRANSPORT_JOIN];
   clib_error_t *error;
-  u32 bi;
+  u32 bi = 0;
 
   error = recvmsg_helper (msm, ms->socket, /* rx_addr */ 0, &bi,       /* drop_message */
                          0);
@@ -359,7 +359,7 @@ ack_socket_read_ready (clib_file_t * uf)
   mc_socket_main_t *msm = (mc_socket_main_t *) uf->private_data;
   mc_main_t *mcm = &msm->mc_main;
   clib_error_t *error;
-  u32 bi;
+  u32 bi = 0;
 
   error = recvmsg_helper (msm, msm->ack_socket, /* rx_addr */ 0, &bi,
                          /* drop_message */ 0);
@@ -570,7 +570,7 @@ catchup_listen_read_ready (clib_file_t * uf)
   clib_file_t template = { 0 };
 
   pool_get (msm->catchups, c);
-  memset (c, 0, sizeof (c[0]));
+  clib_memset (c, 0, sizeof (c[0]));
 
   client_len = sizeof (client_addr);
 
@@ -632,7 +632,7 @@ find_and_bind_to_free_port (word sock, word port)
     {
       struct sockaddr_in a;
 
-      memset (&a, 0, sizeof (a));      /* Warnings be gone */
+      clib_memset (&a, 0, sizeof (a)); /* Warnings be gone */
 
       a.sin_family = PF_INET;
       a.sin_addr.s_addr = INADDR_ANY;
@@ -672,7 +672,7 @@ setup_mutlicast_socket (mc_socket_main_t * msm,
       0)
     return clib_error_return_unix (0, "%s setsockopt SO_REUSEADDR", type);
 
-  memset (&ms->tx_addr, 0, sizeof (ms->tx_addr));
+  clib_memset (&ms->tx_addr, 0, sizeof (ms->tx_addr));
   ms->tx_addr.sin_family = AF_INET;
   ms->tx_addr.sin_addr.s_addr =
     htonl (msm->multicast_tx_ip4_address_host_byte_order);
@@ -682,7 +682,7 @@ setup_mutlicast_socket (mc_socket_main_t * msm,
            sizeof (ms->tx_addr)) < 0)
     return clib_error_return_unix (0, "%s bind", type);
 
-  memset (&mcast_req, 0, sizeof (mcast_req));
+  clib_memset (&mcast_req, 0, sizeof (mcast_req));
   mcast_req.imr_multiaddr.s_addr =
     htonl (msm->multicast_tx_ip4_address_host_byte_order);
   mcast_req.imr_interface.s_addr = msm->if_ip4_address_net_byte_order;
@@ -852,7 +852,7 @@ catchup_request_fun (void *transport_main,
   int one = 1;
 
   pool_get (msm->catchups, c);
-  memset (c, 0, sizeof (*c));
+  clib_memset (c, 0, sizeof (*c));
 
   c->socket = socket (AF_INET, SOCK_STREAM, 0);
   if (c->socket < 0)
@@ -867,7 +867,7 @@ catchup_request_fun (void *transport_main,
       return 0;
     }
 
-  memset (&addr, 0, sizeof (addr));
+  clib_memset (&addr, 0, sizeof (addr));
   addr.sin_family = AF_INET;
   addr.sin_addr.s_addr = mc_socket_peer_id_get_address (catchup_peer_id);
   addr.sin_port = mc_socket_peer_id_get_port (catchup_peer_id);
@@ -1012,9 +1012,9 @@ mc_socket_main_init (mc_socket_main_t * msm, char **intfc_probe_list,
 
   msm->rx_mtu_n_bytes = mtu;
   msm->rx_mtu_n_buffers =
-    msm->rx_mtu_n_bytes / VLIB_BUFFER_DEFAULT_FREE_LIST_BYTES;
+    msm->rx_mtu_n_bytes / vlib_buffer_get_default_data_size (vm);
   msm->rx_mtu_n_buffers +=
-    (msm->rx_mtu_n_bytes % VLIB_BUFFER_DEFAULT_FREE_LIST_BYTES) != 0;
+    (msm->rx_mtu_n_bytes % vlib_buffer_get_default_data_size (vm)) != 0;
 
   error = socket_setup (msm);
   if (error)