From 75073d0a8478441cc97a6efa10b566c5fb1dac81 Mon Sep 17 00:00:00 2001 From: Colin Watson Date: Fri, 17 Apr 2020 20:57:17 +0100 Subject: New upstream version 1.4.0 --- fuzz/mutator_aux.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'fuzz/mutator_aux.h') diff --git a/fuzz/mutator_aux.h b/fuzz/mutator_aux.h index 687f130..d14e177 100644 --- a/fuzz/mutator_aux.h +++ b/fuzz/mutator_aux.h @@ -7,6 +7,9 @@ #ifndef _MUTATOR_AUX_H #define _MUTATOR_AUX_H +#include +#include + /* * As of LLVM 7.0.1, MSAN support in libFuzzer was still experimental. * We therefore have to be careful when using our custom mutator, or @@ -31,6 +34,9 @@ #define MAXSTR 1024 #define MAXBLOB 3072 +#define GETLEN_MIN 0 +#define GETLEN_MAX 1 + struct blob { uint8_t body[MAXBLOB]; size_t len; @@ -38,6 +44,7 @@ struct blob { size_t xstrlen(const char *); void consume(const void *, size_t); +void consume_str(const char *); int unpack_blob(uint8_t, uint8_t **, size_t *, struct blob *); int unpack_byte(uint8_t, uint8_t **, size_t *, uint8_t *); @@ -49,6 +56,11 @@ int pack_byte(uint8_t, uint8_t **, size_t *, uint8_t); int pack_int(uint8_t, uint8_t **, size_t *, int); int pack_string(uint8_t, uint8_t **, size_t *, const char *); +size_t len_int(void); +size_t len_string(int); +size_t len_byte(void); +size_t len_blob(int); + void mutate_byte(uint8_t *); void mutate_int(int *); void mutate_blob(struct blob *); @@ -60,6 +72,9 @@ void set_wire_data(uint8_t *, size_t); int dev_read(void *, unsigned char *, size_t, int); int dev_write(void *, const unsigned char *, size_t); +void prng_init(unsigned long); +unsigned long prng_uint32(void); + uint32_t uniform_random(uint32_t); #endif /* !_MUTATOR_AUX_H */ -- cgit v1.2.3