[libc-commits] [libc] Delete test buffs for asan checks (PR #174018)
Kyungtak Woo via libc-commits
libc-commits at lists.llvm.org
Tue Dec 30 12:58:30 PST 2025
https://github.com/kevinwkt created https://github.com/llvm/llvm-project/pull/174018
I'm currently getting "Detected memory leaks" errors due to this. This change should always delete the buffers after use.
>From 3e6b92cafeb1c257bfdc260ef83aa673e666cd24 Mon Sep 17 00:00:00 2001
From: Kyungtak Woo <kevinwkt1997 at gmail.com>
Date: Tue, 30 Dec 2025 14:56:16 -0600
Subject: [PATCH] delete test buffs
---
libc/fuzzing/stdio/printf_float_conv_fuzz.cpp | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
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[] = {
More information about the libc-commits
mailing list