blob: 5df182ec59524cd81893dcea8b1e7ef3c06bb44f [file] [log] [blame]
Kostya Serebryanyf3424592015-05-22 22:35:31 +00001//===- FuzzerInterface.cpp - Mutate a test input --------------------------===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9// Parts of public interface for libFuzzer.
10//===----------------------------------------------------------------------===//
11
12
13#include "FuzzerInterface.h"
14#include "FuzzerInternal.h"
15
16namespace fuzzer {
Kostya Serebryany404c69f2015-07-24 01:06:40 +000017
18void FuzzerRandomLibc::ResetSeed(int seed) { srand(seed); }
19
20size_t FuzzerRandomLibc::Rand() { return rand(); }
21
22UserSuppliedFuzzer::UserSuppliedFuzzer()
23 : OwnRand(true), Rand(new FuzzerRandomLibc(0)) {}
24
25UserSuppliedFuzzer::UserSuppliedFuzzer(FuzzerRandomBase *Rand) : Rand(Rand) {}
26
27UserSuppliedFuzzer::~UserSuppliedFuzzer() {
28 if (OwnRand)
29 delete Rand;
30}
31
Kostya Serebryanyf3424592015-05-22 22:35:31 +000032} // namespace fuzzer.