misc: sprintf be gone 57/26357/1
authorDave Barach <dbarach@u1804>
Sat, 4 Apr 2020 14:05:48 +0000 (10:05 -0400)
committerDave Barach <dave@barachs.net>
Sat, 4 Apr 2020 14:14:06 +0000 (10:14 -0400)
Along with related static analysis warnings...

Type: fix
Ticket: VPP-1837
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I2c6949c7a2250b8f76a63508c7c210daecfe0f91

14 files changed:
src/plugins/dhcp/dhcp6_ia_na_client_cp.c
src/plugins/dhcp/dhcp6_pd_client_cp.c
src/plugins/hs_apps/vcl/sock_test_client.c
src/plugins/hs_apps/vcl/sock_test_server.c
src/plugins/hs_apps/vcl/vcl_test_client.c
src/plugins/hs_apps/vcl/vcl_test_server.c
src/tools/g2/events.c
src/tools/g2/g2version.c
src/tools/g2/main.c
src/tools/g2/menu1.c
src/tools/g2/pointsel.c
src/tools/g2/props.c
src/tools/g2/view1.c
src/vnet/session/application_worker.c

index b485599..4d59f60 100644 (file)
@@ -557,8 +557,8 @@ dhcp6_clients_show_command_function (vlib_main_t * vm,
   clib_error_t *error = 0;
   client_state_t *cs;
   f64 current_time = vlib_time_now (vm);
-  char buf1[256];
-  char buf2[256];
+  u8 *buf1 = 0;
+  u8 *buf2 = 0;
   const char *rebinding;
   u32 i;
 
@@ -567,26 +567,28 @@ dhcp6_clients_show_command_function (vlib_main_t * vm,
       cs = &rm->client_state_by_sw_if_index[i];
       if (cs->enabled)
        {
+         vec_reset_length (buf1);
+         vec_reset_length (buf2);
          if (cs->T1_due_time != DBL_MAX && cs->T1_due_time > current_time)
            {
-             sprintf (buf1, "%u remaining",
-                      (u32) round (cs->T1_due_time - current_time));
+             buf1 = format (buf1, "%u remaining",
+                            (u32) round (cs->T1_due_time - current_time));
            }
          else
-           sprintf (buf1, "timeout");
+           buf1 = format (buf1, "timeout");
          if (cs->T2_due_time != DBL_MAX && cs->T2_due_time > current_time)
-           sprintf (buf2, "%u remaining",
-                    (u32) round (cs->T2_due_time - current_time));
+           buf2 = format (buf2, "%u remaining",
+                          (u32) round (cs->T2_due_time - current_time));
          else
-           sprintf (buf2, "timeout");
+           buf2 = format (buf2, "timeout");
          if (cs->rebinding)
            rebinding = ", REBINDING";
          else
            rebinding = "";
          if (cs->T1)
            vlib_cli_output (vm,
-                            "sw_if_index: %u, T1: %u (%s), "
-                            "T2: %u (%s), server index: %d%s", i,
+                            "sw_if_index: %u, T1: %u (%v), "
+                            "T2: %u (%v), server index: %d%s", i,
                             cs->T1, buf1, cs->T2, buf2,
                             cs->server_index, rebinding);
          else
@@ -594,6 +596,9 @@ dhcp6_clients_show_command_function (vlib_main_t * vm,
        }
     }
 
+  vec_free (buf1);
+  vec_free (buf2);
+
   return error;
 }
 
index 1c0b286..077b4a3 100644 (file)
@@ -1176,8 +1176,8 @@ ip6_pd_clients_show_command_function (vlib_main_t * vm,
   client_state_t *cs;
   f64 current_time = vlib_time_now (vm);
   const u8 *prefix_group;
-  char buf1[256];
-  char buf2[256];
+  u8 *buf1 = 0;
+  u8 *buf2 = 0;
   const char *rebinding;
   u32 i;
 
@@ -1186,18 +1186,20 @@ ip6_pd_clients_show_command_function (vlib_main_t * vm,
       cs = &rm->client_state_by_sw_if_index[i];
       if (cs->enabled)
        {
+         vec_reset_length (buf1);
+         vec_reset_length (buf2);
          if (cs->T1_due_time != DBL_MAX && cs->T1_due_time > current_time)
            {
-             sprintf (buf1, "%u remaining",
-                      (u32) round (cs->T1_due_time - current_time));
+             buf1 = format (buf1, "%u remaining",
+                            (u32) round (cs->T1_due_time - current_time));
            }
          else
-           sprintf (buf1, "timeout");
+           buf1 = format (buf1, "timeout");
          if (cs->T2_due_time != DBL_MAX && cs->T2_due_time > current_time)
-           sprintf (buf2, "%u remaining",
-                    (u32) round (cs->T2_due_time - current_time));
+           buf2 = format (buf2, "%u remaining",
+                          (u32) round (cs->T2_due_time - current_time));
          else
-           sprintf (buf2, "timeout");
+           buf2 = format (buf2, "timeout");
          if (cs->rebinding)
            rebinding = ", REBINDING";
          else
@@ -1206,8 +1208,8 @@ ip6_pd_clients_show_command_function (vlib_main_t * vm,
            pm->prefix_group_name_by_index[cs->prefix_group_index];
          if (cs->T1)
            vlib_cli_output (vm,
-                            "sw_if_index: %u, prefix group: %s, T1: %u (%s), "
-                            "T2: %u (%s), server index: %d%s", i,
+                            "sw_if_index: %u, prefix group: %s, T1: %u (%v), "
+                            "T2: %u (%v), server index: %d%s", i,
                             prefix_group, cs->T1, buf1, cs->T2, buf2,
                             cs->server_index, rebinding);
          else
@@ -1216,6 +1218,9 @@ ip6_pd_clients_show_command_function (vlib_main_t * vm,
        }
     }
 
+  vec_free (buf1);
+  vec_free (buf2);
+
   return error;
 }
 
index ed43e7f..6f5fb07 100644 (file)
@@ -327,7 +327,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 +498,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);
index 110ff3e..bd777cc 100644 (file)
@@ -238,7 +238,8 @@ stream_test_server_start_stop (sock_server_conn_t * conn,
                {
                  static char buf[64];
 
-                 sprintf (buf, "SERVER (fd %d) RESULTS", tc->fd);
+                 snprintf (buf, sizeof (buf), "SERVER (fd %d) RESULTS",
+                           tc->fd);
                  vcl_test_stats_dump (buf, &tc->stats, 1 /* show_rx */ ,
                                       test == VCL_TEST_TYPE_BI
                                       /* show tx */ ,
index 55bc788..30b48d8 100644 (file)
@@ -394,7 +394,7 @@ vtc_accumulate_stats (vcl_test_client_worker_t * wrk,
 
       if (ctrl->cfg.verbose > 1)
        {
-         sprintf (buf, "CLIENT (fd %d) RESULTS", ts->fd);
+         snprintf (buf, sizeof (buf), "CLIENT (fd %d) RESULTS", ts->fd);
          vcl_test_stats_dump (buf, &ts->stats, show_rx, 1 /* show tx */ ,
                               ctrl->cfg.verbose);
        }
@@ -553,10 +553,10 @@ vtc_print_stats (vcl_test_session_t * ctrl)
     }
 
   if (is_echo)
-    sprintf (buf, "Echo");
+    snprintf (buf, sizeof (buf), "Echo");
   else
-    sprintf (buf, "%s-directional Stream",
-            ctrl->cfg.test == VCL_TEST_TYPE_BI ? "Bi" : "Uni");
+    snprintf (buf, sizeof (buf), "%s-directional Stream",
+             ctrl->cfg.test == VCL_TEST_TYPE_BI ? "Bi" : "Uni");
 }
 
 static void
index be225fa..364c32f 100644 (file)
@@ -180,7 +180,7 @@ vts_server_start_stop (vcl_test_server_worker_t * wrk,
          conn->stats.stop.tv_sec -= VCL_TEST_DELAY_DISCONNECT;
          if (conn->cfg.verbose)
            {
-             sprintf (buf, "SERVER (fd %d) RESULTS", tc->fd);
+             snprintf (buf, sizeof (buf), "SERVER (fd %d) RESULTS", tc->fd);
              vcl_test_stats_dump (buf, &tc->stats, 1 /* show_rx */ ,
                                   is_bi /* show tx */ , conn->cfg.verbose);
            }
index f17a69d..09054b7 100644 (file)
@@ -1,4 +1,4 @@
-/* 
+/*
  *------------------------------------------------------------------
  * Copyright (c) 2005-2016 Cisco and/or its affiliates.
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -70,7 +70,7 @@ void event_init(void)
         g_little_endian = FALSE;
 
     askstr = getprop("dont_ask_ticks_per_ns_initially");
-    
+
     if (askstr && (*askstr == 't' || *askstr == 'T')) {
         tmp = atol(getprop_default("ticks_per_ns", 0));
         if (tmp > 0) {
@@ -189,10 +189,10 @@ static void make_sorted_pid_vector(void)
     /*
      * Squirrel away original (sorted) vector, so we can
      * toggle between "chase" mode, snapshots, and the original
-     * display method on short notice 
+     * display method on short notice
      */
     g_original_pids = g_malloc0(sizeof(pid_sort_t)*g_npids);
-    memcpy (g_original_pids, g_pids, sizeof(pid_sort_t)*g_npids); 
+    memcpy (g_original_pids, g_pids, sizeof(pid_sort_t)*g_npids);
 }
 
 /****************************************************************************
@@ -214,7 +214,7 @@ void read_events(char *filename)
     ulp = (ulong *)mapfile(filename, &size);
 
     if (ulp == NULL) {
-        sprintf(tmpbuf, "Couldn't open %s\n", filename);
+        snprintf(tmpbuf, sizeof(tmpbuf), "Couldn't open %s\n", filename);
         infobox("Read Event Log Failure", tmpbuf);
         return;
     }
@@ -222,7 +222,8 @@ void read_events(char *filename)
     g_nevents = ntohl(*ulp);
 
     if (size != (g_nevents*sizeof(raw_event_t) + sizeof(g_nevents))) {
-        sprintf(tmpbuf, "%s was damaged, or isn't an event log.\n", filename);
+        snprintf(tmpbuf, sizeof(tmpbuf),
+                 "%s was damaged, or isn't an event log.\n", filename);
         infobox("Bad Input File", tmpbuf);
         g_nevents = 0;
         unmapfile((char *)ulp, size);
@@ -279,7 +280,7 @@ void read_events(char *filename)
     }
 
     unmapfile((char *)ulp, size);
-    
+
     make_sorted_pid_vector();
     g_free(s_pidhash);
     s_pidhash = 0;
@@ -333,7 +334,7 @@ void add_cpel_event(ulonglong delta, ulong track, ulong event, ulong datum)
 * add_clib_event
 ****************************************************************************/
 
-void add_clib_event(double delta, unsigned short track, 
+void add_clib_event(double delta, unsigned short track,
                     unsigned short event, unsigned int index)
 {
     event_t *ep;
@@ -355,7 +356,7 @@ void cpel_event_finalize(void)
     make_sorted_pid_vector();
     g_free(s_pidhash);
     s_pidhash = 0;
-    
+
     /* Give the view-1 world a chance to reset a few things... */
     view1_read_events_callback();
 }
@@ -370,7 +371,7 @@ char *mapfile (char *file, ulong *sizep)
     char *rv;
     int maphfile;
     size_t mapfsize;
-    
+
     maphfile = open (file, O_RDONLY);
 
     if (maphfile < 0)
@@ -417,7 +418,7 @@ char *mapfile (char *file, ulong *sizep)
 boolean unmapfile (char *addr, ulong size)
 {
     if (munmap (addr, size) < 0) {
-        g_warning("Unmap error, addr 0x%lx size 0x%x\n", 
+        g_warning("Unmap error, addr 0x%lx size 0x%x\n",
                   (unsigned long) addr, (unsigned int)size);
         return(FALSE);
     }
@@ -459,7 +460,7 @@ int find_event_index (ulonglong t)
 
         if (ep->time < t)
             top = index + 1;
-        else 
+        else
             bottom = index - 1;
     }
 }
@@ -470,6 +471,7 @@ int find_event_index (ulonglong t)
 
 void events_about (char *tmpbuf)
 {
-    sprintf(tmpbuf+strlen(tmpbuf), "%d total events, %.3f ticks per us\n", 
-            (int)g_nevents, ticks_per_ns);
+    snprintf(tmpbuf+strlen(tmpbuf), 1024 - strlen(tmpbuf),
+             "%d total events, %.3f ticks per us\n",
+             (int)g_nevents, ticks_per_ns);
 }
index 05961ec..cd0226c 100644 (file)
@@ -14,5 +14,5 @@
  * limitations under the License.
  */
 
-const char *version_string = "G2 (x86_64 GNU/Linux) major version 3.1";
-const char *minor_v_string = "Last Changed Sun Feb 3 10:38:26 EST 2019";
+const char *version_string = "G2 (x86_64 GNU/Linux) major version 3.2";
+const char *minor_v_string = "Last Changed Sat Apr  4 09:26:32 EDT 2020";
index 1ec7983..5af679d 100644 (file)
@@ -1,4 +1,4 @@
-/* 
+/*
  *------------------------------------------------------------------
  * Copyright (c) 2005-2016 Cisco and/or its affiliates.
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -34,7 +34,7 @@ GtkWidget *g_mainwindow;        /* The main window */
  * [main window]
  *   [main vbox]
  *     [main (e.g. file) menubar]
- *     [view hbox] 
+ *     [view hbox]
  *     [view bottom menu]
  */
 
@@ -62,7 +62,7 @@ int main (int argc, char **argv)
     char *title = "none";
     int curarg=1;
     char *homedir;
-    
+
     clib_mem_init (0, ((uword)3<<30));
 
     gtk_init(&argc, &argv);
@@ -71,11 +71,11 @@ int main (int argc, char **argv)
     tmpbuf[0] = 0;
 
     if (homedir) {
-        sprintf(tmpbuf, "%s/.g2", homedir);
+        snprintf(tmpbuf, sizeof(tmpbuf), "%s/.g2", homedir);
     } else {
         pw = getpwuid(geteuid());
         if (pw) {
-            sprintf(tmpbuf, "%s/.g2", pw->pw_dir);
+            snprintf(tmpbuf, sizeof(tmpbuf), "%s/.g2", pw->pw_dir);
         }
     }
     if (tmpbuf[0])
@@ -94,7 +94,7 @@ int main (int argc, char **argv)
     g_mainvbox = gtk_vbox_new(FALSE, 0);
     g_mainhbox = gtk_hbox_new(FALSE, 0);
 
-    /* 
+    /*
      * init routines
      */
 
@@ -103,11 +103,11 @@ int main (int argc, char **argv)
     view1_init();
     event_init();
 
-    /* 
+    /*
      * Now that we're ready to rock 'n roll, see if we've been asked to
      * press a few buttons...
      */
-    
+
     while (curarg < argc) {
         if (!strncmp(argv[curarg], "--cpel-input", 4)) {
             curarg++;
@@ -163,12 +163,12 @@ int main (int argc, char **argv)
             g_error ("Missing filename after --event-log\n");
         }
 
-        fprintf(stderr, 
+        fprintf(stderr,
                 "g2 [--pointdefs <filename>] [--event-log <filename>]\n");
         fprintf(stderr, "   [--ticks-per-us <value>]\n");
-        fprintf(stderr, 
+        fprintf(stderr,
                 "   [--cpel-input <filename>] [--clib-input <filename]>\n");
-        fprintf(stderr, 
+        fprintf(stderr,
                 "%s\n%s\n", version_string, minor_v_string);
         exit(0);
     }
index fce81fa..ab06a6b 100644 (file)
@@ -1,4 +1,4 @@
-/* 
+/*
  *------------------------------------------------------------------
  * Copyright (c) 2006-2016 Cisco and/or its affiliates.
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -118,7 +118,7 @@ static void get_dialog_value (GtkWidget *dialog, gpointer user_data)
 {
     md_t *md = (md_t *)user_data;
     char * cb_arg;
-    
+
     cb_arg = (char *) gtk_entry_get_text(GTK_ENTRY(md->entry));
 
     if ((*md->callback)(cb_arg)) {
@@ -133,7 +133,7 @@ static void get_dialog_value (GtkWidget *dialog, gpointer user_data)
 * modal_dialog
 ****************************************************************************/
 
-void modal_dialog (char *label_text, char *retry_text, char *default_value, 
+void modal_dialog (char *label_text, char *retry_text, char *default_value,
                    boolean (*cb)(char *))
 {
     GtkWidget *dialog, *label, *ok_button, *entry;
@@ -158,10 +158,10 @@ void modal_dialog (char *label_text, char *retry_text, char *default_value,
     else
        md->callback = debug_dialog_callback;
 
-    gtk_signal_connect (GTK_OBJECT (ok_button), "clicked", 
+    gtk_signal_connect (GTK_OBJECT (ok_button), "clicked",
                         GTK_SIGNAL_FUNC(get_dialog_value), (gpointer) md);
 
-    gtk_signal_connect (GTK_OBJECT (entry), "activate", 
+    gtk_signal_connect (GTK_OBJECT (entry), "activate",
                         GTK_SIGNAL_FUNC(get_dialog_value), (gpointer) md);
 
     gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->action_area),
@@ -193,26 +193,26 @@ static void get_eventdef_name (GtkFileSelection *sel, gpointer user_data)
 
 static void read_eventdef_callback(GtkToggleButton *item, gpointer data)
 {
-    
+
     s_filesel = gtk_file_selection_new("Read Event Definitions From...");
-    
-    gtk_file_selection_set_filename(GTK_FILE_SELECTION(s_filesel), 
+
+    gtk_file_selection_set_filename(GTK_FILE_SELECTION(s_filesel),
                                    "../h/elog.h");
 
     gtk_signal_connect (GTK_OBJECT (
         GTK_FILE_SELECTION(s_filesel)->ok_button),
-                        "clicked", 
+                        "clicked",
                         GTK_SIGNAL_FUNC(get_eventdef_name), NULL);
-                            
+
     gtk_signal_connect_object (GTK_OBJECT (
         GTK_FILE_SELECTION(s_filesel)->ok_button),
-                               "clicked", 
+                               "clicked",
                                GTK_SIGNAL_FUNC (gtk_widget_destroy),
                                (gpointer) s_filesel);
-    
+
     gtk_signal_connect_object (GTK_OBJECT (
         GTK_FILE_SELECTION(s_filesel)->cancel_button),
-                               "clicked", 
+                               "clicked",
                                GTK_SIGNAL_FUNC (gtk_widget_destroy),
                                (gpointer) s_filesel);
     gtk_file_selection_hide_fileop_buttons(GTK_FILE_SELECTION(s_filesel));
@@ -261,21 +261,21 @@ static void read_events_callback(GtkToggleButton *item, gpointer data)
     char tmpbuf [32];
 
     s_eventsel = gtk_file_selection_new("Read Events From...");
-    
+
     gtk_signal_connect (GTK_OBJECT (
         GTK_FILE_SELECTION(s_eventsel)->ok_button),
-                        "clicked", 
+                        "clicked",
                         GTK_SIGNAL_FUNC(get_events_name), NULL);
-                            
+
     gtk_signal_connect_object (GTK_OBJECT (
         GTK_FILE_SELECTION(s_eventsel)->ok_button),
-                               "clicked", 
+                               "clicked",
                                GTK_SIGNAL_FUNC (gtk_widget_destroy),
                                (gpointer) s_eventsel);
-    
+
     gtk_signal_connect_object (GTK_OBJECT (
         GTK_FILE_SELECTION(s_eventsel)->cancel_button),
-                               "clicked", 
+                               "clicked",
                                GTK_SIGNAL_FUNC (gtk_widget_destroy),
                                (gpointer) s_eventsel);
     gtk_file_selection_hide_fileop_buttons(GTK_FILE_SELECTION(s_eventsel));
@@ -283,7 +283,7 @@ static void read_events_callback(GtkToggleButton *item, gpointer data)
     if (ticks_per_ns_set)
        gtk_widget_show (s_eventsel);
     else {
-       sprintf(tmpbuf, "%.3f", ticks_per_ns);
+       snprintf(tmpbuf, sizeof(tmpbuf), "%.3f", ticks_per_ns);
        modal_dialog ("Please enter clock ticks per nanosecond",
                      "Invalid: Please enter clock ticks per nanosecond",
                      tmpbuf, get_ticks_per_ns);
@@ -312,10 +312,10 @@ void infobox_size_request (GtkWidget *widget, GtkRequisition *req,
     int widest_line_in_chars;
     int w;
     int nlines;
-    
+
     /*
      * You'd think that the string extent function would work here.
-     * You'd be wrong. 
+     * You'd be wrong.
      */
     nlines = w = widest_line_in_chars = 0;
     for (cp = text; *cp; cp++) {
@@ -349,8 +349,8 @@ void infobox(char *label_text, char *text)
 
     entry = gtk_text_new(NULL, NULL);
 
-    gtk_signal_connect (GTK_OBJECT (entry), "size-request", 
-                        GTK_SIGNAL_FUNC(infobox_size_request), 
+    gtk_signal_connect (GTK_OBJECT (entry), "size-request",
+                        GTK_SIGNAL_FUNC(infobox_size_request),
                         (gpointer) text);
 
     gtk_text_insert(GTK_TEXT(entry), g_font, &fg_black, &bg_white,
@@ -360,8 +360,8 @@ void infobox(char *label_text, char *text)
 
     ok_button = gtk_button_new_with_label("OK");
 
-    gtk_signal_connect_object (GTK_OBJECT (ok_button), "clicked", 
-                               GTK_SIGNAL_FUNC(gtk_widget_destroy), 
+    gtk_signal_connect_object (GTK_OBJECT (ok_button), "clicked",
+                               GTK_SIGNAL_FUNC(gtk_widget_destroy),
                                (gpointer) GTK_OBJECT(dialog));
 
     box = gtk_vbox_new(FALSE, 5);
@@ -393,12 +393,14 @@ static void help_general_callback(GtkToggleButton *item, gpointer data)
 static void help_about_callback(GtkToggleButton *item, gpointer data)
 {
     char tmpbuf [1024];
-    sprintf (tmpbuf, "G2 -- Graphical Event Viewer\n\n");
+    snprintf (tmpbuf, sizeof(tmpbuf), "G2 -- Graphical Event Viewer\n\n");
     view1_about(tmpbuf);
     pointsel_about(tmpbuf);
     events_about(tmpbuf);
-    sprintf (tmpbuf+strlen(tmpbuf), "\n%s\n", version_string);
-    sprintf (tmpbuf+strlen(tmpbuf), "%s\n", minor_v_string);
+    snprintf (tmpbuf+strlen(tmpbuf), sizeof(tmpbuf) - strlen(tmpbuf),
+             "\n%s\n", version_string);
+    snprintf (tmpbuf+strlen(tmpbuf), sizeof(tmpbuf) - strlen(tmpbuf),
+             "%s\n", minor_v_string);
     infobox("About", tmpbuf);
 }
 
@@ -433,26 +435,26 @@ static void get_clib_name (GtkFileSelection *sel, gpointer user_data)
 
 static void read_cpel_callback(GtkToggleButton *item, gpointer data)
 {
-    
+
     s_filesel = gtk_file_selection_new("Read CPEL data from...");
-    
-    gtk_file_selection_set_filename(GTK_FILE_SELECTION(s_filesel), 
+
+    gtk_file_selection_set_filename(GTK_FILE_SELECTION(s_filesel),
                                    "cpel.out");
 
     gtk_signal_connect (GTK_OBJECT (
         GTK_FILE_SELECTION(s_filesel)->ok_button),
-                        "clicked", 
+                        "clicked",
                         GTK_SIGNAL_FUNC(get_cpel_name), NULL);
-                            
+
     gtk_signal_connect_object (GTK_OBJECT (
         GTK_FILE_SELECTION(s_filesel)->ok_button),
-                               "clicked", 
+                               "clicked",
                                GTK_SIGNAL_FUNC (gtk_widget_destroy),
                                (gpointer) s_filesel);
-    
+
     gtk_signal_connect_object (GTK_OBJECT (
         GTK_FILE_SELECTION(s_filesel)->cancel_button),
-                               "clicked", 
+                               "clicked",
                                GTK_SIGNAL_FUNC (gtk_widget_destroy),
                                (gpointer) s_filesel);
     gtk_file_selection_hide_fileop_buttons(GTK_FILE_SELECTION(s_filesel));
@@ -465,26 +467,26 @@ static void read_cpel_callback(GtkToggleButton *item, gpointer data)
 
 static void read_clib_callback(GtkToggleButton *item, gpointer data)
 {
-    
+
     s_filesel = gtk_file_selection_new("Read clib data From...");
-    
-    gtk_file_selection_set_filename(GTK_FILE_SELECTION(s_filesel), 
+
+    gtk_file_selection_set_filename(GTK_FILE_SELECTION(s_filesel),
                                    "clib.out");
 
     gtk_signal_connect (GTK_OBJECT (
         GTK_FILE_SELECTION(s_filesel)->ok_button),
-                        "clicked", 
+                        "clicked",
                         GTK_SIGNAL_FUNC(get_clib_name), NULL);
-                            
+
     gtk_signal_connect_object (GTK_OBJECT (
         GTK_FILE_SELECTION(s_filesel)->ok_button),
-                               "clicked", 
+                               "clicked",
                                GTK_SIGNAL_FUNC (gtk_widget_destroy),
                                (gpointer) s_filesel);
-    
+
     gtk_signal_connect_object (GTK_OBJECT (
         GTK_FILE_SELECTION(s_filesel)->cancel_button),
-                               "clicked", 
+                               "clicked",
                                GTK_SIGNAL_FUNC (gtk_widget_destroy),
                                (gpointer) s_filesel);
     gtk_file_selection_hide_fileop_buttons(GTK_FILE_SELECTION(s_filesel));
@@ -500,42 +502,42 @@ void menu1_init(void)
 
     s_filemenu = gtk_menu_new();
 
-    s_readcpel = gtk_menu_item_new_with_label 
+    s_readcpel = gtk_menu_item_new_with_label
        ("Read CPEL file");
     gtk_menu_append(GTK_MENU(s_filemenu), s_readcpel);
-    gtk_signal_connect(GTK_OBJECT(s_readcpel), "activate", 
+    gtk_signal_connect(GTK_OBJECT(s_readcpel), "activate",
                        GTK_SIGNAL_FUNC(read_cpel_callback), 0);
 
-    s_readclib = gtk_menu_item_new_with_label 
+    s_readclib = gtk_menu_item_new_with_label
        ("Read CLIB file");
     gtk_menu_append(GTK_MENU(s_filemenu), s_readclib);
-    gtk_signal_connect(GTK_OBJECT(s_readclib), "activate", 
+    gtk_signal_connect(GTK_OBJECT(s_readclib), "activate",
                        GTK_SIGNAL_FUNC(read_clib_callback), 0);
-    
+
     s_readdefs = gtk_menu_item_new_with_label ("Read Event Definitions");
     gtk_menu_append(GTK_MENU(s_filemenu), s_readdefs);
-    gtk_signal_connect(GTK_OBJECT(s_readdefs), "activate", 
+    gtk_signal_connect(GTK_OBJECT(s_readdefs), "activate",
                        GTK_SIGNAL_FUNC(read_eventdef_callback), 0);
-    
+
     s_readevents = gtk_menu_item_new_with_label ("Read Event Log");
     gtk_menu_append(GTK_MENU(s_filemenu), s_readevents);
-    gtk_signal_connect(GTK_OBJECT(s_readevents), "activate", 
+    gtk_signal_connect(GTK_OBJECT(s_readevents), "activate",
                        GTK_SIGNAL_FUNC(read_events_callback), 0);
-    
-    s_readeventsclock = gtk_menu_item_new_with_label 
+
+    s_readeventsclock = gtk_menu_item_new_with_label
        ("Read Event Log with Different Clock Rate");
     gtk_menu_append(GTK_MENU(s_filemenu), s_readeventsclock);
-    gtk_signal_connect(GTK_OBJECT(s_readeventsclock), "activate", 
+    gtk_signal_connect(GTK_OBJECT(s_readeventsclock), "activate",
                        GTK_SIGNAL_FUNC(read_eventsclock_callback), 0);
 
     s_print = gtk_menu_item_new_with_label ("Print");
     gtk_menu_append(GTK_MENU(s_filemenu), s_print);
-    gtk_signal_connect(GTK_OBJECT(s_print), "activate", 
+    gtk_signal_connect(GTK_OBJECT(s_print), "activate",
                        GTK_SIGNAL_FUNC(view1_print_callback), 0);
-    
+
     s_quit = gtk_menu_item_new_with_label ("Exit");
     gtk_menu_append(GTK_MENU(s_filemenu), s_quit);
-    gtk_signal_connect(GTK_OBJECT(s_quit), "activate", 
+    gtk_signal_connect(GTK_OBJECT(s_quit), "activate",
                        GTK_SIGNAL_FUNC(gtk_main_quit), 0);
 
     s_mainfilemenu = gtk_menu_item_new_with_label("File");
@@ -545,12 +547,12 @@ void menu1_init(void)
 
     s_help_general = gtk_menu_item_new_with_label ("General");
     gtk_menu_append(GTK_MENU(s_helpmenu), s_help_general);
-    gtk_signal_connect(GTK_OBJECT(s_help_general), "activate", 
+    gtk_signal_connect(GTK_OBJECT(s_help_general), "activate",
                        GTK_SIGNAL_FUNC(help_general_callback), 0);
 
     s_help_about = gtk_menu_item_new_with_label ("About");
     gtk_menu_append(GTK_MENU(s_helpmenu), s_help_about);
-    gtk_signal_connect(GTK_OBJECT(s_help_about), "activate", 
+    gtk_signal_connect(GTK_OBJECT(s_help_about), "activate",
                        GTK_SIGNAL_FUNC(help_about_callback), 0);
 
     s_mainhelpmenu = gtk_menu_item_new_with_label("Help");
index 018dc21..1d0a217 100644 (file)
@@ -1,4 +1,4 @@
-/* 
+/*
  *------------------------------------------------------------------
  * Copyright (c) 2005-2016 Cisco and/or its affiliates.
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -229,37 +229,37 @@ void point_selector_init(void)
     gtk_widget_show(s_nonebutton);
 
     gtk_signal_connect (GTK_OBJECT(s_allbutton), "clicked",
-                        GTK_SIGNAL_FUNC(button_click_callback), 
+                        GTK_SIGNAL_FUNC(button_click_callback),
                         (gpointer) ALL_BUTTON);
 
     gtk_signal_connect (GTK_OBJECT(s_nonebutton), "clicked",
-                        GTK_SIGNAL_FUNC(button_click_callback), 
+                        GTK_SIGNAL_FUNC(button_click_callback),
                         (gpointer) NONE_BUTTON);
 
-    gtk_box_pack_start(GTK_BOX(s_pointselbuttons), s_allbutton, FALSE, 
+    gtk_box_pack_start(GTK_BOX(s_pointselbuttons), s_allbutton, FALSE,
                        FALSE, 0);
-    gtk_box_pack_start(GTK_BOX(s_pointselbuttons), s_nonebutton, FALSE, 
+    gtk_box_pack_start(GTK_BOX(s_pointselbuttons), s_nonebutton, FALSE,
                        FALSE, 0);
-    
+
     gtk_widget_show(s_pointselbuttons);
-    gtk_widget_ref(s_pointselbuttons); 
+    gtk_widget_ref(s_pointselbuttons);
 
-    gtk_box_pack_start(GTK_BOX(s_pointselbox), s_pointselbuttons, FALSE, 
+    gtk_box_pack_start(GTK_BOX(s_pointselbox), s_pointselbuttons, FALSE,
                        FALSE, 0);
 
-    gtk_box_pack_end (GTK_BOX(g_mainhbox), s_pointselbox, 
+    gtk_box_pack_end (GTK_BOX(g_mainhbox), s_pointselbox,
                        FALSE, FALSE, 0);
 
-    s_ps_vsadj = gtk_adjustment_new(0.0 /* initial value */, 
+    s_ps_vsadj = gtk_adjustment_new(0.0 /* initial value */,
                                     0.0 /* minimum value */,
                                     2000.0 /* maximum value */,
-                                    0.1 /* step increment */, 
-                                    10.0/* page increment */, 
+                                    0.1 /* step increment */,
+                                    10.0/* page increment */,
                                     10.0/* page size */);
-    
+
     s_ps_vscroll = gtk_vscrollbar_new (GTK_ADJUSTMENT(s_ps_vsadj));
     gtk_signal_connect (GTK_OBJECT (s_ps_vsadj), "value-changed",
-                        GTK_SIGNAL_FUNC (scroll_callback), 
+                        GTK_SIGNAL_FUNC (scroll_callback),
                         (gpointer)s_ps_vscroll);
     gtk_box_pack_end(GTK_BOX(g_mainhbox), s_ps_vscroll, FALSE, FALSE, 0);
 }
@@ -289,12 +289,12 @@ static void reset_point_selector(void)
     gtk_widget_hide(s_pointselbox);
     gtk_widget_hide(s_pointselbuttons);
     gtk_widget_hide(s_ps_vscroll);
-    gtk_container_remove(GTK_CONTAINER(s_pointselbox), 
+    gtk_container_remove(GTK_CONTAINER(s_pointselbox),
                          s_pointselbuttons);
-    
+
     for (i = 0; i < g_neventdefs; i++) {
         if (s_event_buttons[i]) {
-            gtk_container_remove(GTK_CONTAINER(s_pointselbox), 
+            gtk_container_remove(GTK_CONTAINER(s_pointselbox),
                                  s_event_buttons[i]);
             s_event_buttons[i] = 0;
         }
@@ -314,7 +314,7 @@ static void create_point_selector(void)
 
     for (i = 0; i < g_neventdefs; i++) {
         ep = &g_eventdefs[i];
-        sprintf(tmpbuf, "[%lu] %s", ep->event, 
+        snprintf(tmpbuf, sizeof(tmpbuf), "[%lu] %s", ep->event,
                 ep->name ? ep->name : "(none)");
         /* Hack to reduce width of point selectors */
         if (strlen(tmpbuf) > 50) {
@@ -324,7 +324,7 @@ static void create_point_selector(void)
         wp = gtk_check_button_new_with_label (tmpbuf);
         s_event_buttons[i] = wp;
         gtk_signal_connect (GTK_OBJECT(wp), "toggled",
-                            GTK_SIGNAL_FUNC(point_select_callback), 
+                            GTK_SIGNAL_FUNC(point_select_callback),
                             (gpointer) (unsigned long long) i);
         gtk_toggle_button_set_active (
             GTK_TOGGLE_BUTTON(wp), TRUE);
@@ -335,7 +335,7 @@ static void create_point_selector(void)
     s_min_shown_pointsel = 1;
     up_button();
 
-    gtk_box_pack_start(GTK_BOX(s_pointselbox), s_pointselbuttons, FALSE, 
+    gtk_box_pack_start(GTK_BOX(s_pointselbox), s_pointselbuttons, FALSE,
                        FALSE, 0);
     gtk_widget_show(s_pointselbuttons);
     gtk_widget_show(s_pointselbox);
@@ -376,7 +376,7 @@ static void add_event(ulong event, char *name, char *format)
         g_error("Too many event definitions, increase NEVENTS!");
         /*NOTREACHED*/
     }
-        
+
     /* Simple dup check, probably not needed very often */
     for (i = 0; i < g_neventdefs; i++) {
         if (g_eventdefs[i].event == event) {
@@ -398,7 +398,7 @@ static void add_event(ulong event, char *name, char *format)
 * add_event_from_cpel_file
 ****************************************************************************/
 
-void add_event_from_cpel_file(ulong event, char *event_format, 
+void add_event_from_cpel_file(ulong event, char *event_format,
                               char *datum_format)
 {
     event_def_t *ep;
@@ -414,7 +414,7 @@ void add_event_from_cpel_file(ulong event, char *event_format,
     /*
      * Duplicate the strings for backward compatibility. Otherwise,
      * the g_free above will barf because the name/format strings are
-     * actually in mmap'ed memory 
+     * actually in mmap'ed memory
      */
     ep->name = sxerox(event_format);
     ep->format = sxerox(datum_format);
@@ -425,7 +425,7 @@ void add_event_from_cpel_file(ulong event, char *event_format,
 * add_event_from_clib_file
 ****************************************************************************/
 
-void add_event_from_clib_file(unsigned int event, char *name, 
+void add_event_from_clib_file(unsigned int event, char *name,
                               unsigned int vec_index)
 {
     event_def_t *ep;
@@ -478,7 +478,7 @@ static void read_header_file (void)
         /* skip ws after #define */
         while (*cp && isspace ((int)*cp))
             cp++;
-            
+
         if (*cp == 0)
             continue;
 
@@ -492,7 +492,7 @@ static void read_header_file (void)
         /* skip ws after symbolic name */
         while (*cp && isspace ((int)*cp))
             cp++;
-            
+
         if (*cp == 0)
             continue;
 
@@ -504,16 +504,16 @@ static void read_header_file (void)
 
             while (*cp && *cp != '(')
                 cp++;
-            
+
             if (*cp == 0)
                 continue;
 
-            cp++; 
+            cp++;
 
             while (*cp && isspace ((int)*cp))
                 cp++;
-            
-        } 
+
+        }
 
         /* eat event code. */
         while (*cp && isdigit ((int)*cp))
@@ -537,7 +537,7 @@ static void read_header_file (void)
         /* skip ws after event code */
         while (*cp && isspace ((int)*cp))
             cp++;
-            
+
         if (*cp != '/')
             continue;
 
@@ -565,11 +565,11 @@ static void read_header_file (void)
             continue;
 
         *cp++ = 0;
-        
+
         /* skip ws after name: */
         while (*cp && isspace ((int)*cp))
             cp++;
-        
+
         if (*cp == 0 || *cp == '/')
         {
             format = " ";
@@ -577,7 +577,7 @@ static void read_header_file (void)
         }
 
         format = cp;
-        
+
         /* accumulate format string */
         while (*cp && !isspace ((int)*cp))
             cp++;
@@ -630,12 +630,12 @@ static boolean read_header_files (void)
         /* skip ws after EV_COMPxxx_START */
         while (*cp && isspace ((int)*cp))
             cp++;
-        
+
         if (*cp == 0)
             continue;
-        
+
         basenum = atol (cp);
-        
+
         /* skip #define */
         while (*cp && (*cp != '/'))
             cp++;
@@ -669,7 +669,7 @@ static boolean read_header_files (void)
 
         while (*cp && !isspace ((int)*cp))
             cp++;
-       
+
         *cp = 0;
 
         s_hfp = fopen (name, "rt");
@@ -747,7 +747,7 @@ boolean read_event_definitions (char *filename)
 
     s_elog_hfp = fopen (filename, "rt");
     if (s_elog_hfp == NULL) {
-        sprintf (tmpbuf, "Couldn't open %s\n", filename);
+        snprintf (tmpbuf, sizeof(tmpbuf), "Couldn't open %s\n", filename);
         infobox ("Open Failed", tmpbuf);
         return(FALSE);
     }
@@ -765,7 +765,7 @@ boolean read_event_definitions (char *filename)
 
     s_hfp = fopen (filename, "rt");
     if (s_hfp == NULL) {
-        sprintf (tmpbuf, "Couldn't open %s\n", filename);
+        snprintf (tmpbuf, sizeof(tmpbuf), "Couldn't open %s\n", filename);
         infobox ("Read Event Definition Failure", tmpbuf);
         return(FALSE);
     }
@@ -774,7 +774,8 @@ boolean read_event_definitions (char *filename)
 
     /* Happens if the user feeds us the wrong file, for example */
     if (g_neventdefs == 0) {
-        sprintf (tmpbuf, "No event definitions found in %s\n", filename);
+        snprintf (tmpbuf, sizeof(tmpbuf),
+                  "No event definitions found in %s\n", filename);
         infobox ("No Event Definitions?", tmpbuf);
         return(FALSE);
     }
@@ -805,7 +806,7 @@ event_def_t *find_event_definition (ulong code)
        index = (bottom + top) / 2;
 
         edp = (g_eventdefs + index);
-        
+
         if (edp->event == code)
             return(edp);
 
@@ -815,14 +816,14 @@ event_def_t *find_event_definition (ulong code)
             edp->selected = TRUE;
             edp->event = code;
             edp->format = "0x%x";
-            sprintf (dummy_string, "E%lu", code);
+            snprintf (dummy_string, sizeof(dummy_string), "E%lu", code);
             edp->name = &dummy_string[0];
             return(edp);
         }
 
         if (edp->event < code)
             top = index + 1;
-        else 
+        else
             bottom = index - 1;
     }
 }
@@ -835,10 +836,10 @@ event_def_t *find_event_definition (ulong code)
 void pointsel_next_snapshot(void)
 {
     int i;
-    
+
     for (i = 0; i < g_neventdefs; i++) {
         gtk_toggle_button_set_active (
-            GTK_TOGGLE_BUTTON(s_event_buttons[i]), 
+            GTK_TOGGLE_BUTTON(s_event_buttons[i]),
             g_eventdefs[i].selected);
     }
 }
@@ -849,6 +850,6 @@ void pointsel_next_snapshot(void)
 
 void pointsel_about (char *tmpbuf)
 {
-    sprintf (tmpbuf+strlen(tmpbuf), "%d event definitions\n", 
+    snprintf (tmpbuf+strlen(tmpbuf), 128, "%d event definitions\n",
              g_neventdefs);
 }
index a23dc05..41df97a 100644 (file)
@@ -1,4 +1,4 @@
-/* 
+/*
  *------------------------------------------------------------------
  * Copyright (c) 1997-2016 Cisco and/or its affiliates.
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -35,7 +35,7 @@ static prop_t *buckets [NBUCKETS];
 static int hash_shifts[4] = {24, 16, 8, 0};
 
 /*
- * getprop 
+ * getprop
  */
 
 char *getprop (char *name)
@@ -106,7 +106,7 @@ void addprop (char *name, char *value)
 }
 
 /*
- * sxerox 
+ * sxerox
  */
 
 static char *sxerox (char *s)
@@ -117,7 +117,7 @@ static char *sxerox (char *s)
 }
 
 /*
- * readprops 
+ * readprops
  */
 
 #define START 0
@@ -183,7 +183,7 @@ int readprops (char *filename)
                      c, linenum);
             exit (1);
             break;
-            
+
         case CPP_COMMENT:
             while (1) {
                 c = getc (ifp);
@@ -217,7 +217,7 @@ int readprops (char *filename)
                 }
             }
             break;
-                    
+
         case READNAME:
             i = 0;
             namebuf[i++] = c;
index a0cff90..38c4152 100644 (file)
@@ -436,9 +436,6 @@ void format_popbox_string (char *tmpbuf, int len, event_t *ep, event_def_t *edp)
 {
     char *fp;
 
-#ifdef NOTDEF
-    sprintf(tmpbuf,"%d:", ep->code);
-#endif
     if (ep->flags & EVENT_FLAG_CLIB) {
         elog_event_t *eep;
         u8 *s;
@@ -898,7 +895,7 @@ static int toggle_event_select(GdkEventButton *event, v1_geometry_t *vp)
             }
         }
 
-        sprintf(tmpbuf, "%ld", ep->code);
+        snprintf(tmpbuf, sizeof(tmpbuf), "%ld", ep->code);
 
         /* Figure out the dimensions of the regular box */
         rp = tbox(tmpbuf, x, y, TBOX_GETRECT_EVENT);
@@ -1405,13 +1402,13 @@ button_press_event (GtkWidget *widget, GdkEventButton *event)
              */
             nsec = ((double)xdelta)*time_per_pixel;
             if (nsec >1e9) {
-                sprintf(tmpbuf, "%8.3f sec ", nsec/1e9);
+                snprintf(tmpbuf, sizeof(tmpbuf), "%8.3f sec ", nsec/1e9);
             } else if (nsec > 1e6) {
-                sprintf(tmpbuf, "%8.3f msec", nsec/1e6);
+                snprintf(tmpbuf, sizeof(tmpbuf), "%8.3f msec", nsec/1e6);
             } else if (nsec > 1e3) {
-                sprintf(tmpbuf, "%8.3f usec", nsec/1e3);
+                snprintf(tmpbuf, sizeof(tmpbuf), "%8.3f usec", nsec/1e3);
             } else {
-                sprintf(tmpbuf, "%8.0f nsec", nsec);
+                snprintf(tmpbuf, sizeof(tmpbuf), "%8.0f nsec", nsec);
             }
             s_v1->last_time_interval = nsec;
             tbox(tmpbuf, (int)(press3_event.x), s_v1->pop_offset,
@@ -1580,7 +1577,7 @@ boolean event_search_internal (void)
                     x = s_v1->pid_ax_width +
                         (int)(((double)(ep->time - s_v1->minvistime)) /
                               time_per_pixel);
-                    sprintf(tmpbuf, "SEARCH RESULT");
+                    snprintf(tmpbuf, sizeof(tmpbuf), "SEARCH RESULT");
                     tbox(tmpbuf, x, y - s_v1->pop_offset, TBOX_DRAW_BOXED);
                     line(x, y-s_v1->pop_offset, x, y, LINE_DRAW_BLACK);
                 } else {
@@ -1594,7 +1591,8 @@ boolean event_search_internal (void)
             return(TRUE);
         }
     }
-    sprintf (tmpbuf, "Search for event %ld failed...\n", s_srchcode);
+    snprintf (tmpbuf, sizeof(tmpbuf),
+              "Search for event %ld failed...\n", s_srchcode);
     message_line(tmpbuf);
     s_srchfail_up = TRUE;
     return(TRUE);
@@ -1814,8 +1812,9 @@ boolean anomaly_search_internal (void)
             return(TRUE);
         }
     }
-    sprintf (tmpbuf, "Search for an anomalous event %ld failed...\n",
-             s_anomalycode);
+    snprintf (tmpbuf, sizeof(tmpbuf),
+              "Search for an anomalous event %ld failed...\n",
+              s_anomalycode);
     message_line(tmpbuf);
     s_srchfail_up = TRUE;
     return(TRUE);
@@ -3397,13 +3396,8 @@ static void display_event_data(v1_geometry_t *vp)
         if (ep->flags & (EVENT_FLAG_SELECT | EVENT_FLAG_SEARCHRSLT)) {
             if (ep->flags & EVENT_FLAG_SELECT) {
                 format_popbox_string(tmpbuf, sizeof(tmpbuf), ep, edp);
-#ifdef NOTDEF
-                sprintf(tmpbuf, edp->name);
-                sprintf(tmpbuf+strlen(tmpbuf), ": ");
-                sprintf(tmpbuf+strlen(tmpbuf), edp->format, ep->datum);
-#endif
             } else {
-                sprintf(tmpbuf, "SEARCH RESULT");
+                snprintf(tmpbuf, sizeof(tmpbuf), "SEARCH RESULT");
             }
             print_rect = tbox(tmpbuf, x, y - vp->pop_offset,
                               TBOX_DRAW_BOXED+s_print_offset);
@@ -3419,7 +3413,7 @@ static void display_event_data(v1_geometry_t *vp)
             line(x, y - delta, x, y + delta, LINE_DRAW_BLACK);
             last_x_used[pid_index] = x + 1;
         } else {
-            sprintf(tmpbuf, "%ld", ep->code);
+            snprintf(tmpbuf, sizeof(tmpbuf), "%ld", ep->code);
             print_rect = tbox(tmpbuf, x, y, TBOX_DRAW_EVENT+s_print_offset);
             if (last_x_used != NULL)
                 last_x_used[pid_index] = x + print_rect->width;
@@ -3506,7 +3500,7 @@ static void display_time_axis(v1_geometry_t *vp)
         time += (double)(vp->minvistime);
         time /= unit_divisor;
 
-        sprintf (tmpbuf, "%.2f%s", time, units);
+        snprintf (tmpbuf, sizeof(tmpbuf), "%.2f%s", time, units);
 
         tbox(tmpbuf, x+xoffset, y+15, TBOX_DRAW_PLAIN+s_print_offset);
 
@@ -3571,13 +3565,13 @@ void view1_about (char *tmpbuf)
     int nsnaps;
     snapshot_t *snaps;
 
-    sprintf(tmpbuf+strlen(tmpbuf), "Minvistime %lld\nMaxvistime %lld\n",
+    snprintf(tmpbuf+strlen(tmpbuf), 128, "Minvistime %lld\nMaxvistime %lld\n",
             s_v1->minvistime, s_v1->maxvistime);
-    sprintf(tmpbuf+strlen(tmpbuf), "Strip Height %d\n",
+    snprintf(tmpbuf+strlen(tmpbuf), 128, "Strip Height %d\n",
             s_v1->strip_height);
 
     for (nsnaps = 0, snaps = s_snapshots; snaps; snaps = snaps->next) {
         nsnaps++;
     }
-    sprintf(tmpbuf+strlen(tmpbuf), "%d snapshots in the ring\n", nsnaps);
+    snprintf(tmpbuf+strlen(tmpbuf), 128, "%d snapshots in the ring\n", nsnaps);
 }
index c17f43e..a3dc32a 100644 (file)
@@ -699,10 +699,11 @@ format_app_worker_listener (u8 * s, va_list * args)
 
   if (verbose)
     {
-      char buf[32];
-      sprintf (buf, "%u(%u)", app_wrk->wrk_map_index, app_wrk->wrk_index);
-      s = format (s, "%-40s%-25s%=10s%-15u%-15u%-10u", str, app_name,
+      u8 *buf;
+      buf = format (0, "%u(%u)", app_wrk->wrk_map_index, app_wrk->wrk_index);
+      s = format (s, "%-40s%-25s%=10v%-15u%-15u%-10u", str, app_name,
                  buf, app_wrk->api_client_index, handle, sm_index);
+      vec_free (buf);
     }
   else
     s = format (s, "%-40s%-25s%=10u", str, app_name, app_wrk->wrk_map_index);