summaryrefslogtreecommitdiff
path: root/lib/fuzzer/FuzzerCorpus.h
diff options
context:
space:
mode:
authorGeorge Karpenkov <ekarpenkov@apple.com>2017-08-27 23:20:09 +0000
committerGeorge Karpenkov <ekarpenkov@apple.com>2017-08-27 23:20:09 +0000
commitfe253ee56618ac233dc0516daea8775b58f456d8 (patch)
tree404e175dfbce15ced937f1a39cd8c5d1c8f474c1 /lib/fuzzer/FuzzerCorpus.h
parentcc44d7c1f1d3e45e338faf2ecc4fb43c58dda330 (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.h12
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;