[sanitizer] fix a potential buffer overflow due to __sanitizer_symbolize_pc (need to put a zero after strncmp). LOL
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@281015 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/sanitizer_common/TestCases/symbolize_pc.cc b/test/sanitizer_common/TestCases/symbolize_pc.cc
index 666f720..9bde2ab 100644
--- a/test/sanitizer_common/TestCases/symbolize_pc.cc
+++ b/test/sanitizer_common/TestCases/symbolize_pc.cc
@@ -5,13 +5,21 @@
#include <stdio.h>
#include <sanitizer/common_interface_defs.h>
void SymbolizeCaller() {
- char data[1000];
+ char data[100];
__sanitizer_symbolize_pc(__builtin_return_address(0), "%p %F %L", data,
sizeof(data));
printf("FIRST_FORMAT %s\n", data);
__sanitizer_symbolize_pc(__builtin_return_address(0),
"FUNC:%f LINE:%l FILE:%s", data, sizeof(data));
printf("SECOND_FORMAT %s\n", data);
+ __sanitizer_symbolize_pc(__builtin_return_address(0),
+ "LOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO"
+ "OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO"
+ "OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO"
+ "OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO"
+ "OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONG"
+ "FUNC:%f LINE:%l FILE:%s", data, sizeof(data));
+ printf("LONG_FORMAT %s\n", data);
}
// CHECK: FIRST_FORMAT 0x{{.*}} in main symbolize_pc.cc:[[@LINE+3]]