diff options
author | George Karpenkov <ekarpenkov@apple.com> | 2017-08-27 23:20:09 +0000 |
---|---|---|
committer | George Karpenkov <ekarpenkov@apple.com> | 2017-08-27 23:20:09 +0000 |
commit | fe253ee56618ac233dc0516daea8775b58f456d8 (patch) | |
tree | 404e175dfbce15ced937f1a39cd8c5d1c8f474c1 /lib/fuzzer/FuzzerCorpus.h | |
parent | cc44d7c1f1d3e45e338faf2ecc4fb43c58dda330 (diff) |
[libFuzzer] Use custom allocators for STL containers in libFuzzer.
Avoids ODR violations causing spurious ASAN warnings.
Differential Revision: https://reviews.llvm.org/D37086
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@311866 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/fuzzer/FuzzerCorpus.h')
-rw-r--r-- | lib/fuzzer/FuzzerCorpus.h | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/lib/fuzzer/FuzzerCorpus.h b/lib/fuzzer/FuzzerCorpus.h index bae0aea78..2384d5082 100644 --- a/lib/fuzzer/FuzzerCorpus.h +++ b/lib/fuzzer/FuzzerCorpus.h @@ -35,7 +35,7 @@ struct InputInfo { size_t NumSuccessfullMutations = 0; bool MayDeleteFile = false; bool Reduced = false; - std::vector<uint32_t> UniqFeatureSet; + Vector<uint32_t> UniqFeatureSet; }; class InputCorpus { @@ -71,7 +71,7 @@ class InputCorpus { bool empty() const { return Inputs.empty(); } const Unit &operator[] (size_t Idx) const { return Inputs[Idx]->U; } void AddToCorpus(const Unit &U, size_t NumFeatures, bool MayDeleteFile, - const std::vector<uint32_t> &FeatureSet) { + const Vector<uint32_t> &FeatureSet) { assert(!U.empty()); if (FeatureDebug) Printf("ADD_TO_CORPUS %zd NF %zd\n", Inputs.size(), NumFeatures); @@ -100,7 +100,7 @@ class InputCorpus { } // Debug-only - void PrintFeatureSet(const std::vector<uint32_t> &FeatureSet) { + void PrintFeatureSet(const Vector<uint32_t> &FeatureSet) { if (!FeatureDebug) return; Printf("{"); for (uint32_t Feature: FeatureSet) @@ -256,11 +256,11 @@ private: } std::piecewise_constant_distribution<double> CorpusDistribution; - std::vector<double> Intervals; - std::vector<double> Weights; + Vector<double> Intervals; + Vector<double> Weights; std::unordered_set<std::string> Hashes; - std::vector<InputInfo*> Inputs; + Vector<InputInfo*> Inputs; size_t NumAddedFeatures = 0; size_t NumUpdatedFeatures = 0; |