hash: fix sprintf with snprintf

Message ID 1549450337-2890-1-git-send-email-pallantlax.poornima@intel.com
State Superseded
Delegated to: Thomas Monjalon
Headers show
Series
  • hash: fix sprintf with snprintf
Related show

Checks

Context Check Description
ci/Intel-compilation success Compilation OK
ci/intel-Performance-Testing success Performance Testing PASS
ci/mellanox-Performance-Testing success Performance Testing PASS
ci/checkpatch success coding style OK

Commit Message

Pallantla Poornima Feb. 6, 2019, 10:52 a.m.
sprintf function is not secure as it doesn't check the length of string.
More secure function snprintf is used.

Fixes: 473d1bebce ("hash: allow to store data in hash table")
Cc: stable@dpdk.org

Signed-off-by: Pallantla Poornima <pallantlax.poornima@intel.com>
---
 test/test/test_hash_perf.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

Comments

Stephen Hemminger Feb. 6, 2019, 4:18 p.m. | #1
On Wed,  6 Feb 2019 10:52:17 +0000
Pallantla Poornima <pallantlax.poornima@intel.com> wrote:

> +		snprintf(name, sizeof(name), "test_hash%d_data",
> +				hashtest_key_lens[table_index]);

It looks like %u should be used since hashtest_key_lens is unsigned
32 bit value.

Since the values in table are always small enough, I don't see why
this should go to stable.

Patch

diff --git a/test/test/test_hash_perf.c b/test/test/test_hash_perf.c
index 525211180..c09b10f2e 100644
--- a/test/test/test_hash_perf.c
+++ b/test/test/test_hash_perf.c
@@ -85,9 +85,11 @@  create_table(unsigned int with_data, unsigned int table_index,
 
 	if (with_data)
 		/* Table will store 8-byte data */
-		sprintf(name, "test_hash%d_data", hashtest_key_lens[table_index]);
+		snprintf(name, sizeof(name), "test_hash%d_data",
+				hashtest_key_lens[table_index]);
 	else
-		sprintf(name, "test_hash%d", hashtest_key_lens[table_index]);
+		snprintf(name, sizeof(name), "test_hash%d",
+				hashtest_key_lens[table_index]);
 
 
 	if (with_locks)