From 228bea6a36cd0eb3b7f80d18bce9f8d5a1a69c95 Mon Sep 17 00:00:00 2001 From: George Balatsouras Date: Sat, 24 Jul 2021 07:37:39 +0000 Subject: [PATCH] Revert D106195 "[dfsan] Add wrappers for v*printf functions" This reverts commit bf281f364757d6af8d9d8456f26d334d1eeaf575. This commit causes dfsan to segfault. --- compiler-rt/lib/dfsan/dfsan_custom.cpp | 43 ---------------------------------- compiler-rt/lib/dfsan/done_abilist.txt | 2 -- compiler-rt/test/dfsan/custom.cpp | 10 -------- 3 files changed, 55 deletions(-) diff --git a/compiler-rt/lib/dfsan/dfsan_custom.cpp b/compiler-rt/lib/dfsan/dfsan_custom.cpp index edc0754..3185184 100644 --- a/compiler-rt/lib/dfsan/dfsan_custom.cpp +++ b/compiler-rt/lib/dfsan/dfsan_custom.cpp @@ -2460,49 +2460,6 @@ int __dfso_snprintf(char *str, size_t size, const char *format, return ret; } -SANITIZER_INTERFACE_ATTRIBUTE -int __dfsw_vsprintf(char *str, const char *format, dfsan_label str_label, - dfsan_label format_label, dfsan_label *va_labels, - dfsan_label *ret_label, va_list ap) { - int ret = format_buffer(str, ~0ul, format, va_labels, ret_label, nullptr, - nullptr, ap); - return ret; -} - -SANITIZER_INTERFACE_ATTRIBUTE -int __dfso_vsprintf(char *str, const char *format, dfsan_label str_label, - dfsan_label format_label, dfsan_label *va_labels, - dfsan_label *ret_label, dfsan_origin str_origin, - dfsan_origin format_origin, dfsan_origin *va_origins, - dfsan_origin *ret_origin, va_list ap) { - int ret = format_buffer(str, ~0ul, format, va_labels, ret_label, va_origins, - ret_origin, ap); - return ret; -} - -SANITIZER_INTERFACE_ATTRIBUTE -int __dfsw_vsnprintf(char *str, size_t size, const char *format, - dfsan_label str_label, dfsan_label size_label, - dfsan_label format_label, dfsan_label *va_labels, - dfsan_label *ret_label, va_list ap) { - int ret = format_buffer(str, size, format, va_labels, ret_label, nullptr, - nullptr, ap); - return ret; -} - -SANITIZER_INTERFACE_ATTRIBUTE -int __dfso_vsnprintf(char *str, size_t size, const char *format, - dfsan_label str_label, dfsan_label size_label, - dfsan_label format_label, dfsan_label *va_labels, - dfsan_label *ret_label, dfsan_origin str_origin, - dfsan_origin size_origin, dfsan_origin format_origin, - dfsan_origin *va_origins, dfsan_origin *ret_origin, - va_list ap) { - int ret = format_buffer(str, size, format, va_labels, ret_label, va_origins, - ret_origin, ap); - return ret; -} - static void BeforeFork() { StackDepotLockAll(); GetChainedOriginDepot()->LockAll(); diff --git a/compiler-rt/lib/dfsan/done_abilist.txt b/compiler-rt/lib/dfsan/done_abilist.txt index 4e4466e..3c2670e 100644 --- a/compiler-rt/lib/dfsan/done_abilist.txt +++ b/compiler-rt/lib/dfsan/done_abilist.txt @@ -286,8 +286,6 @@ fun:gettimeofday=custom # sprintf-like fun:sprintf=custom fun:snprintf=custom -fun:vsprintf=custom -fun:vsnprintf=custom # TODO: custom fun:asprintf=discard diff --git a/compiler-rt/test/dfsan/custom.cpp b/compiler-rt/test/dfsan/custom.cpp index 8d1ef49..99450a6 100644 --- a/compiler-rt/test/dfsan/custom.cpp +++ b/compiler-rt/test/dfsan/custom.cpp @@ -1939,14 +1939,6 @@ void test_snprintf() { ASSERT_LABEL(r, 0); } -// This is essentially the same as sprintf with the only difference that it -// uses a va_list instead of varargs. This empty function is here to appease -// the check-wrappers script. -void test_vsprintf() {} - -// Same here, but for snprintf. -void test_vsnprintf() {} - // Tested by a seperate source file. This empty function is here to appease the // check-wrappers script. void test_fork() {} @@ -2027,7 +2019,5 @@ int main(void) { test_strtoul(); test_strtoull(); test_time(); - test_vsprintf(); - test_vsnprintf(); test_write(); } -- 2.7.4