From d3464bfd6d247530e669688c79e99c7245299df7 Mon Sep 17 00:00:00 2001 From: yanjunxiang-google <78807980+yanjunxiang-google@users.noreply.github.com> Date: Fri, 10 Nov 2023 18:25:15 -0500 Subject: [PATCH] fuzz: Fix ext_proc integration test fuzzer issue (#29798) Signed-off-by: Yanjun Xiang --- .../filters/http/ext_proc/ext_proc_grpc_fuzz.h | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/test/extensions/filters/http/ext_proc/ext_proc_grpc_fuzz.h b/test/extensions/filters/http/ext_proc/ext_proc_grpc_fuzz.h index 836c5b7c7c61..a46639581e7c 100644 --- a/test/extensions/filters/http/ext_proc/ext_proc_grpc_fuzz.h +++ b/test/extensions/filters/http/ext_proc/ext_proc_grpc_fuzz.h @@ -229,8 +229,11 @@ fuzzExtProcRun(const test::extensions::filters::http::ext_proc::ExtProcGrpcTestC FuzzedDataProvider downstream_provider( reinterpret_cast(input.downstream_data().data()), input.downstream_data().size()); - FuzzedDataProvider ext_proc_provider( - reinterpret_cast(input.ext_proc_data().data()), input.ext_proc_data().size()); + static std::unique_ptr ext_proc_data = nullptr; + ext_proc_data = std::make_unique(input.ext_proc_data()); + static std::unique_ptr ext_proc_provider = nullptr; + ext_proc_provider = std::make_unique( + reinterpret_cast(ext_proc_data->data()), ext_proc_data->size()); static std::unique_ptr fuzzer = nullptr; static std::unique_ptr fuzz_helper = nullptr; @@ -242,7 +245,7 @@ fuzzExtProcRun(const test::extensions::filters::http::ext_proc::ExtProcGrpcTestC TestEnvironment::getIpVersionsForTest()[0], TestEnvironment::getsGrpcVersionsForTest()[0]); } // Initialize fuzz_helper. - fuzz_helper = std::make_unique(&ext_proc_provider); + fuzz_helper = std::make_unique(ext_proc_provider.get()); // Initialize test server. if (fuzzCreateEnvoy(fuzz_exec_count, persistent_mode)) { @@ -295,6 +298,8 @@ fuzzExtProcRun(const test::extensions::filters::http::ext_proc::ExtProcGrpcTestC } else { fuzzer->tearDown(true); } + ext_proc_data.reset(); + ext_proc_provider.reset(); fuzz_helper.reset(); }