diff options
author | van Hauser <vh@thc.org> | 2021-07-28 08:34:21 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-07-28 08:34:21 +0200 |
commit | 6d8813eb1a54a78f086e3f9b49642f67903218f3 (patch) | |
tree | d2b47c7aaff6e2d93bb1494cc0b4016f879b1044 /frida_mode/test/osx-lib/harness3.c | |
parent | 2a51358b1554ccb05d312487eec7d9deee53aaee (diff) | |
parent | d7caf1b0f2bba283de36f546efb658d29ad488e1 (diff) | |
download | afl++-6d8813eb1a54a78f086e3f9b49642f67903218f3.tar.gz |
Merge pull request #1046 from WorksButNotTested/osx-lib
Changes to add additional FASAN configurations to osx-lib
Diffstat (limited to 'frida_mode/test/osx-lib/harness3.c')
-rw-r--r-- | frida_mode/test/osx-lib/harness3.c | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/frida_mode/test/osx-lib/harness3.c b/frida_mode/test/osx-lib/harness3.c new file mode 100644 index 00000000..83983c99 --- /dev/null +++ b/frida_mode/test/osx-lib/harness3.c @@ -0,0 +1,40 @@ +#include <string.h> +#include <assert.h> +#include <stdio.h> +#include <stdlib.h> +#include <dlfcn.h> + + +extern void crashme(const uint8_t *Data, size_t Size); + +int LLVMFuzzerTestOneInput(const unsigned char* data, size_t size){ + crashme(data, size); + return 0; +} + +void run (int argc, const char * argv[]) +{ + for (int i = 1; i < argc; i++) { + fprintf(stderr, "Running: %s\n", argv[i]); + FILE *f = fopen(argv[i], "r"); + assert(f); + fseek(f, 0, SEEK_END); + size_t len = ftell(f); + fseek(f, 0, SEEK_SET); + unsigned char *buf = (unsigned char*)malloc(len); + size_t n_read = fread(buf, 1, len, f); + fclose(f); + assert(n_read == len); + LLVMFuzzerTestOneInput(buf, len); + free(buf); + fprintf(stderr, "Done: %s: (%zd bytes)\n", argv[i], n_read); + } +} + +int main(int argc, const char * argv[]) +{ + + run(argc, argv); + + return 0; +} |