From d13034a6d1a239af07948ebe6a399c6aec5ddbbc Mon Sep 17 00:00:00 2001 From: Dave Barach Date: Sat, 4 Apr 2020 10:05:48 -0400 Subject: misc: sprintf be gone Along with related static analysis warnings... Type: fix Ticket: VPP-1837 Signed-off-by: Dave Barach Change-Id: I2c6949c7a2250b8f76a63508c7c210daecfe0f91 (cherry picked from commit 3e07a4a1e843267892dc291a833d93bd70597011) --- src/vnet/dhcp/dhcp6_ia_na_client_cp.c | 25 +++++++++++++++---------- src/vnet/dhcp/dhcp6_pd_client_cp.c | 25 +++++++++++++++---------- 2 files changed, 30 insertions(+), 20 deletions(-) (limited to 'src/vnet/dhcp') diff --git a/src/vnet/dhcp/dhcp6_ia_na_client_cp.c b/src/vnet/dhcp/dhcp6_ia_na_client_cp.c index c5e4d0ce1da..78baf18cb40 100644 --- a/src/vnet/dhcp/dhcp6_ia_na_client_cp.c +++ b/src/vnet/dhcp/dhcp6_ia_na_client_cp.c @@ -582,8 +582,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; @@ -592,26 +592,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 @@ -619,6 +621,9 @@ dhcp6_clients_show_command_function (vlib_main_t * vm, } } + vec_free (buf1); + vec_free (buf2); + return error; } diff --git a/src/vnet/dhcp/dhcp6_pd_client_cp.c b/src/vnet/dhcp/dhcp6_pd_client_cp.c index 0b1b707981a..984b74ad6ec 100644 --- a/src/vnet/dhcp/dhcp6_pd_client_cp.c +++ b/src/vnet/dhcp/dhcp6_pd_client_cp.c @@ -1118,8 +1118,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; @@ -1128,18 +1128,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 @@ -1148,8 +1150,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 @@ -1158,6 +1160,9 @@ ip6_pd_clients_show_command_function (vlib_main_t * vm, } } + vec_free (buf1); + vec_free (buf2); + return error; } -- cgit 1.2.3-korg