Commit 5afa5d59 authored by Jakob Gruber's avatar Jakob Gruber Committed by Commit Bot

Fix LSAN leak warnings in feature_policy_fuzzer

This moves logic to handle LSAN leak warnings into ~BlinkFuzzerTestSupport.
Two related call sites are updated.

Bug: chromium:906425
Change-Id: I2b7c6d5145e67a3d9d919e5f17e51a28eacee7bc
Reviewed-on: https://chromium-review.googlesource.com/c/1341522Reviewed-by: default avatarKent Tamura <tkent@chromium.org>
Reviewed-by: default avatarAbhishek Arya <inferno@chromium.org>
Reviewed-by: default avatarIan Clelland <iclelland@chromium.org>
Commit-Queue: Abhishek Arya <inferno@chromium.org>
Cr-Commit-Position: refs/heads/master@{#610280}
parent ad12edee
......@@ -31,12 +31,5 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
static_cast<blink::CSSParserMode>(parser_mode));
}
#if defined(ADDRESS_SANITIZER)
// LSAN needs unreachable objects to be released to avoid reporting them
// incorrectly as a memory leak.
blink::ThreadState* currentThreadState = blink::ThreadState::Current();
currentThreadState->CollectAllGarbage();
#endif
return 0;
}
......@@ -27,13 +27,6 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
styleSheet->ParseString(String::FromUTF8WithLatin1Fallback(
reinterpret_cast<const char*>(data), size));
#if defined(ADDRESS_SANITIZER)
// LSAN needs unreachable objects to be released to avoid reporting them
// incorrectly as a memory leak.
blink::ThreadState* currentThreadState = blink::ThreadState::Current();
currentThreadState->CollectAllGarbage();
#endif
return 0;
}
......@@ -8,6 +8,7 @@
#include "base/command_line.h"
#include "base/i18n/icu_util.h"
#include "content/public/test/blink_test_environment.h"
#include "third_party/blink/renderer/platform/heap/thread_state.h"
#include "third_party/blink/renderer/platform/weborigin/scheme_registry.h"
namespace blink {
......@@ -30,6 +31,13 @@ BlinkFuzzerTestSupport::BlinkFuzzerTestSupport(int argc, char** argv) {
blink::SchemeRegistry::Initialize();
}
BlinkFuzzerTestSupport::~BlinkFuzzerTestSupport() = default;
BlinkFuzzerTestSupport::~BlinkFuzzerTestSupport() {
#if defined(ADDRESS_SANITIZER)
// LSAN needs unreachable objects to be released to avoid reporting them
// incorrectly as a memory leak.
blink::ThreadState* currentThreadState = blink::ThreadState::Current();
currentThreadState->CollectAllGarbage();
#endif
}
} // namespace blink
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment