summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Fuzzer/FuzzerShmem.h
diff options
context:
space:
mode:
authorKostya Serebryany <kcc@google.com>2017-02-01 00:07:47 +0000
committerKostya Serebryany <kcc@google.com>2017-02-01 00:07:47 +0000
commit5c76e3d0342c2f2e33eae83465c7fff79866e60e (patch)
tree65306e9d56ba19acd4d8b8664dc5b75528e72cb9 /llvm/lib/Fuzzer/FuzzerShmem.h
parent0e8ababf7d20214267b320bd73003e82c99f1d0e (diff)
downloadbcm5719-llvm-5c76e3d0342c2f2e33eae83465c7fff79866e60e.tar.gz
bcm5719-llvm-5c76e3d0342c2f2e33eae83465c7fff79866e60e.zip
[libFuzzer] increase the default size for shmem
llvm-svn: 293722
Diffstat (limited to 'llvm/lib/Fuzzer/FuzzerShmem.h')
-rw-r--r--llvm/lib/Fuzzer/FuzzerShmem.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/llvm/lib/Fuzzer/FuzzerShmem.h b/llvm/lib/Fuzzer/FuzzerShmem.h
index 88719c1775f..53568e0acb6 100644
--- a/llvm/lib/Fuzzer/FuzzerShmem.h
+++ b/llvm/lib/Fuzzer/FuzzerShmem.h
@@ -22,10 +22,9 @@ namespace fuzzer {
class SharedMemoryRegion {
public:
- bool Create(const char *Name, size_t Size);
+ bool Create(const char *Name);
bool Open(const char *Name);
bool Destroy(const char *Name);
- size_t GetSize() const { return Size; }
uint8_t *GetData() { return Data; }
void PostServer() {Post(0);}
void WaitServer() {Wait(0);}
@@ -33,7 +32,7 @@ class SharedMemoryRegion {
void WaitClient() {Wait(1);}
size_t WriteByteArray(const uint8_t *Bytes, size_t N) {
- N = std::min(N, GetSize() - sizeof(N));
+ assert(N <= kShmemSize - sizeof(N));
memcpy(GetData(), &N, sizeof(N));
memcpy(GetData() + sizeof(N), Bytes, N);
assert(N == ReadByteArraySize());
@@ -50,6 +49,8 @@ class SharedMemoryRegion {
bool IsClient() const { return Data && !IAmServer; }
private:
+
+ static const size_t kShmemSize = 1 << 22;
bool IAmServer;
std::string Path(const char *Name);
std::string SemName(const char *Name, int Idx);
@@ -57,7 +58,6 @@ private:
void Wait(int Idx);
bool Map(int fd);
- size_t Size = 0;
uint8_t *Data = nullptr;
void *Semaphore[2];
};
OpenPOWER on IntegriCloud