summaryrefslogtreecommitdiffstats
path: root/security/nss/fuzz/shared.h
diff options
context:
space:
mode:
authorMoonchild <mcwerewolf@gmail.com>2018-02-06 12:02:47 +0100
committerGitHub <noreply@github.com>2018-02-06 12:02:47 +0100
commit389c60da5e01761f4a11ef539ffa26e4c1b17875 (patch)
treec6033924a0de9be1ab140596e305898c651bf57e /security/nss/fuzz/shared.h
parent7c9b585349c985df0cf6ace83da5dadba8b5c677 (diff)
parentf017b749ea9f1586d2308504553d40bf4cc5439d (diff)
downloadUXP-389c60da5e01761f4a11ef539ffa26e4c1b17875.tar
UXP-389c60da5e01761f4a11ef539ffa26e4c1b17875.tar.gz
UXP-389c60da5e01761f4a11ef539ffa26e4c1b17875.tar.lz
UXP-389c60da5e01761f4a11ef539ffa26e4c1b17875.tar.xz
UXP-389c60da5e01761f4a11ef539ffa26e4c1b17875.zip
Merge pull request #13 from MoonchildProductions/ported-upstream
Ported upstream
Diffstat (limited to 'security/nss/fuzz/shared.h')
-rw-r--r--security/nss/fuzz/shared.h16
1 files changed, 14 insertions, 2 deletions
diff --git a/security/nss/fuzz/shared.h b/security/nss/fuzz/shared.h
index 09d805ed8..35621eb9d 100644
--- a/security/nss/fuzz/shared.h
+++ b/security/nss/fuzz/shared.h
@@ -7,12 +7,24 @@
#ifndef shared_h__
#define shared_h__
+#include <assert.h>
+#include <random>
+#include "cert.h"
#include "nss.h"
+extern "C" size_t LLVMFuzzerMutate(uint8_t *Data, size_t Size, size_t MaxSize);
+extern "C" size_t LLVMFuzzerCustomMutator(uint8_t *Data, size_t Size,
+ size_t MaxSize, unsigned int Seed);
+
class NSSDatabase {
public:
- NSSDatabase() { NSS_NoDB_Init(nullptr); }
- ~NSSDatabase() { NSS_Shutdown(); }
+ NSSDatabase() { assert(NSS_NoDB_Init(nullptr) == SECSuccess); }
+ ~NSSDatabase() { assert(NSS_Shutdown() == SECSuccess); }
};
+typedef std::vector<decltype(LLVMFuzzerCustomMutator) *> Mutators;
+
+size_t CustomMutate(Mutators mutators, uint8_t *data, size_t size,
+ size_t max_size, unsigned int seed);
+
#endif // shared_h__