summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCaio Marcelo de Oliveira Filho <[email protected]>2018-07-16 15:12:00 -0700
committerCaio Marcelo de Oliveira Filho <[email protected]>2018-07-18 08:29:51 -0700
commit3bf19bfdc618aabca8e2095e8f2ba4f533aa0bfc (patch)
treebc4a883c540a125d7601b12b874def9a5c778fc5
parent577c8d72882a909ae7d2c90d7c8250c77475f9a4 (diff)
util/string_buffer: fix warning in tests
And also specify the maximum size when writing to static buffers. The warning below refers to the case where "str5" could be larger than "str5 - str4", then the strcat would have overlapping dst and src. Compiler doesn't pick up the bound from the snprintf above, so we make clear the bounds of str5 by using strncat() instead of strcat(). ../../src/util/tests/string_buffer/string_buffer_test.cpp: In member function ‘virtual void string_buffer_string_buffer_tests_Test::TestBody()’: ../../src/util/tests/string_buffer/string_buffer_test.cpp:106:10: warning: ‘char* strcat(char*, const char*)’ accessing 81 or more bytes at offsets 48 and 128 may overlap 1 byte at offset 128 [-Wrestrict] strcat(str4, str5); ~~~~~~^~~~~~~~~~~~ Reviewed-by: Anuj Phogat <[email protected]> Reviewed-by: Thomas Helland <[email protected]>
-rw-r--r--src/util/tests/string_buffer/string_buffer_test.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/util/tests/string_buffer/string_buffer_test.cpp b/src/util/tests/string_buffer/string_buffer_test.cpp
index 545f607fadd..afb6dfb2a19 100644
--- a/src/util/tests/string_buffer/string_buffer_test.cpp
+++ b/src/util/tests/string_buffer/string_buffer_test.cpp
@@ -95,15 +95,15 @@ TEST_F(string_buffer, string_buffer_tests)
EXPECT_TRUE(strlen(buf->buf) == 0);
/* Test a string with some formatting */
- sprintf(str4, "Testing formatting %d, %f", 100, 1.0);
+ snprintf(str4, sizeof(str4), "Testing formatting %d, %f", 100, 1.0);
EXPECT_TRUE(_mesa_string_buffer_printf(buf, "Testing formatting %d, %f", 100, 1.0));
EXPECT_TRUE(strcmp(buf->buf, str4) == 0);
/* Compile a string with some other formatting */
- sprintf(str5, "Testing formatting %d, %x", 100, 0xDEADBEAF);
+ snprintf(str5, sizeof(str5), "Testing formatting %d, %x", 100, 0xDEADBEAF);
/* Concatenate str5 to str4 */
- strcat(str4, str5);
+ strncat(str4, str5, sizeof(str5));
/* Now use the formatted append function again */
EXPECT_TRUE(_mesa_string_buffer_printf(buf, "Testing formatting %d, %x", 100, 0xDEADBEAF));