[libc-commits] [libc] Delete test buffs for asan checks (PR #174018)
via libc-commits
libc-commits at lists.llvm.org
Tue Dec 30 12:59:00 PST 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-libc
Author: Kyungtak Woo (kevinwkt)
<details>
<summary>Changes</summary>
I'm currently getting "Detected memory leaks" errors due to this. This change should always delete the buffers after use.
---
Full diff: https://github.com/llvm/llvm-project/pull/174018.diff
1 Files Affected:
- (modified) libc/fuzzing/stdio/printf_float_conv_fuzz.cpp (+5-6)
``````````diff
diff --git a/libc/fuzzing/stdio/printf_float_conv_fuzz.cpp b/libc/fuzzing/stdio/printf_float_conv_fuzz.cpp
index 5b388c1fce1bd..85494d8d3f835 100644
--- a/libc/fuzzing/stdio/printf_float_conv_fuzz.cpp
+++ b/libc/fuzzing/stdio/printf_float_conv_fuzz.cpp
@@ -58,6 +58,7 @@ inline TestResult test_vals(const char *fmt, F num, int prec, int width) {
int test_result = 0;
int reference_result = 0;
+ TestResult result = TestResult::Success;
test_result = LIBC_NAMESPACE::snprintf(test_buff, buffer_size + 1, fmt, width,
prec, num);
@@ -66,16 +67,14 @@ inline TestResult test_vals(const char *fmt, F num, int prec, int width) {
// All of these calls should return that they wrote the same amount.
if (test_result != reference_result || test_result != buffer_size) {
- return TestResult::LengthsDiffer;
- }
-
- if (!simple_streq(test_buff, reference_buff, buffer_size)) {
- return TestResult::StringsNotEqual;
+ result = TestResult::LengthsDiffer;
+ } else if (!simple_streq(test_buff, reference_buff, buffer_size)) {
+ result = TestResult::StringsNotEqual;
}
delete[] test_buff;
delete[] reference_buff;
- return TestResult::Success;
+ return result;
}
constexpr char const *fmt_arr[] = {
``````````
</details>
https://github.com/llvm/llvm-project/pull/174018
More information about the libc-commits
mailing list