From 5b81a507643556cb8a07e157e21572494a44dee9 Mon Sep 17 00:00:00 2001 From: Jagger Date: Wed, 7 Sep 2016 20:48:32 +0200 Subject: [PATCH] Create shm file in the working dir --- files.c | 5 +++-- files.h | 2 +- honggfuzz.c | 4 ++-- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/files.c b/files.c index 44be32627..da051dd4c 100644 --- a/files.c +++ b/files.c @@ -489,9 +489,10 @@ uint8_t *files_mapFileShared(char *fileName, off_t * fileSz, int *fd) return buf; } -void *files_mapSharedMem(size_t sz, int *fd) +void *files_mapSharedMem(size_t sz, int *fd, const char *dir) { - char template[] = "/tmp/hfuzz.XXXXXX"; + char template[PATH_MAX]; + snprintf(template, sizeof(template), "%s/hfuzz.XXXXXX", dir); if ((*fd = mkstemp(template)) == -1) { PLOG_W("mkstemp('%s')", template); return MAP_FAILED; diff --git a/files.h b/files.h index 63166374d..2e895a92e 100644 --- a/files.h +++ b/files.h @@ -56,7 +56,7 @@ extern uint8_t *files_mapFile(char *fileName, off_t * fileSz, int *fd, bool isWr extern uint8_t *files_mapFileShared(char *fileName, off_t * fileSz, int *fd); -extern void *files_mapSharedMem(size_t sz, int *fd); +extern void *files_mapSharedMem(size_t sz, int *fd, const char *dir); extern bool files_readPidFromFile(const char *fileName, pid_t * pidPtr); diff --git a/honggfuzz.c b/honggfuzz.c index 656ace09b..a6fa9e759 100644 --- a/honggfuzz.c +++ b/honggfuzz.c @@ -150,9 +150,9 @@ int main(int argc, char **argv) } if (hfuzz.dynFileMethod != _HF_DYNFILE_NONE) { - hfuzz.feedback = files_mapSharedMem(sizeof(feedback_t), &hfuzz.bbFd); + hfuzz.feedback = files_mapSharedMem(sizeof(feedback_t), &hfuzz.bbFd, hfuzz.workDir); if (hfuzz.feedback == MAP_FAILED) { - LOG_F("files_mapSharedMem(sz=%zu) failed", sizeof(feedback_t)); + LOG_F("files_mapSharedMem(sz=%zu, dir='%s') failed", sizeof(feedback_t), hfuzz.workDir); } }