misc: strcpy be gone
[vpp.git] / src / plugins / hs_apps / vcl / sock_test_client.c
index 13227f2..fb59378 100644 (file)
@@ -252,7 +252,8 @@ echo_test_client ()
       }
     memset (&serveraddr, 0, sizeof (serveraddr));
     serveraddr.sun_family = AF_UNIX;
-    strcpy (serveraddr.sun_path, SOCK_TEST_AF_UNIX_FILENAME);
+    strncpy (serveraddr.sun_path, SOCK_TEST_AF_UNIX_FILENAME,
+            sizeof (serveraddr.sun_path));
     rv = connect (fd, (struct sockaddr *) &serveraddr, SUN_LEN (&serveraddr));
     if (rv < 0)
       {
@@ -265,7 +266,7 @@ echo_test_client ()
       }
 
     scm->af_unix_echo_tx++;
-    strcpy ((char *) buffer, SOCK_TEST_MIXED_EPOLL_DATA);
+    strncpy ((char *) buffer, SOCK_TEST_MIXED_EPOLL_DATA, sizeof (buffer));
     timeout.tv_sec = 0;
     timeout.tv_usec = 250000;
     select (0, NULL, NULL, NULL, &timeout);    /* delay .25 secs */
@@ -327,7 +328,7 @@ echo_test_client ()
        {
          static char buf[64];
 
-         sprintf (buf, "CLIENT (fd %d) RESULTS", tsock->fd);
+         snprintf (buf, sizeof (buf), "CLIENT (fd %d) RESULTS", tsock->fd);
          vcl_test_stats_dump (buf, &tsock->stats,
                               1 /* show_rx */ , 1 /* show tx */ ,
                               ctrl->cfg.verbose);
@@ -498,7 +499,7 @@ stream_test_client (vcl_test_t test)
        {
          static char buf[64];
 
-         sprintf (buf, "CLIENT (fd %d) RESULTS", tsock->fd);
+         snprintf (buf, sizeof (buf), "CLIENT (fd %d) RESULTS", tsock->fd);
          vcl_test_stats_dump (buf, &tsock->stats,
                               test == VCL_TEST_TYPE_BI /* show_rx */ ,
                               1 /* show tx */ , ctrl->cfg.verbose);
@@ -651,14 +652,6 @@ sock_test_connect_test_sockets (uint32_t num_test_sockets)
                       errno_val);
              return tsock->fd;
            }
-         if (fcntl (tsock->fd, F_SETFL, O_NONBLOCK) < 0)
-           {
-             errno_val = errno;
-             perror ("ERROR in sock_test_connect_test_sockets()");
-             fprintf (stderr, "CLIENT: ERROR: fcntl failed (errno = %d)!\n",
-                      errno_val);
-             return -1;
-           }
 
 #ifdef VCL_TEST
          rv = vppcom_session_connect (tsock->fd, &scm->server_endpt);
@@ -668,9 +661,8 @@ sock_test_connect_test_sockets (uint32_t num_test_sockets)
              rv = -1;
            }
 #else
-         rv =
-           connect (tsock->fd, (struct sockaddr *) &scm->server_addr,
-                    scm->server_addr_size);
+         rv = connect (tsock->fd, (struct sockaddr *) &scm->server_addr,
+                       scm->server_addr_size);
 #endif
          if (rv < 0)
            {
@@ -680,6 +672,14 @@ sock_test_connect_test_sockets (uint32_t num_test_sockets)
                       "(errno = %d)!\n", errno_val);
              return -1;
            }
+         if (fcntl (tsock->fd, F_SETFL, O_NONBLOCK) < 0)
+           {
+             errno_val = errno;
+             perror ("ERROR in sock_test_connect_test_sockets()");
+             fprintf (stderr, "CLIENT: ERROR: fcntl failed (errno = %d)!\n",
+                      errno_val);
+             return -1;
+           }
          tsock->cfg = ctrl->cfg;
          vcl_test_session_buf_alloc (tsock);
          sock_test_cfg_sync (tsock);
@@ -947,7 +947,7 @@ main (int argc, char **argv)
                     optopt, ctrl->txbuf_size);
            print_usage_and_exit ();
          }
-       strcpy (ctrl->txbuf, optarg);
+       strncpy (ctrl->txbuf, optarg, ctrl->txbuf_size);
        ctrl->cfg.test = VCL_TEST_TYPE_ECHO;
        break;