diff options
Diffstat (limited to 'src/third_party/libradamsa/libradamsa-test.c')
-rw-r--r-- | src/third_party/libradamsa/libradamsa-test.c | 75 |
1 files changed, 0 insertions, 75 deletions
diff --git a/src/third_party/libradamsa/libradamsa-test.c b/src/third_party/libradamsa/libradamsa-test.c deleted file mode 100644 index 53851083..00000000 --- a/src/third_party/libradamsa/libradamsa-test.c +++ /dev/null @@ -1,75 +0,0 @@ -#include <radamsa.h> -#include <stdio.h> -#include <inttypes.h> -#include <string.h> -#include <stdlib.h> -#include <sys/mman.h> -#include <sys/types.h> -#include <fcntl.h> -#include <unistd.h> -#include <sys/stat.h> - -size_t filesize(char* filename) { - struct stat st; - stat(filename, &st); - return st.st_size; -} - -#define BUFSIZE 1024*1024 - -void fail(char *why) { - printf("fail: %s\n", why); - exit(1); -} - -void write_output(char *data, size_t len, int num) { - char path[32]; - int fd; - int wrote; - sprintf(path, "/tmp/libradamsa-%d.fuzz", num); - fd = open(path, O_WRONLY | O_CREAT | O_TRUNC, S_IRUSR | S_IWUSR); - printf("Opened %s -> %d\n", path, fd); - if (fd < 0) { - fail("failed to open output file"); - } - wrote = write(fd, data, len); - printf("wrote %d of %zu bytes\n", wrote, len); - if (wrote != len) { - fail("failed to write all of output at once"); - } - close(fd); - printf("Wrote %zu bytes to %s\n", len, path); -} - -int main(int nargs, char **argv) { - char *spath = argv[1]; - int fd = open(spath, O_RDONLY, 0); - size_t len; - char *input; - char *output; - int seed = 0; - if (fd < 0) { - fail("cannot open input file"); - } - len = filesize(spath); - input = malloc(len); - output = malloc(BUFSIZE); - if (!input || !output) { - fail("failed to allocate buffers\n"); - } - radamsa_init(); - if (len != read(fd, input, len)) { - fail("failed to read the entire sample at once"); - } - while(seed++ < 100) { - size_t n; - n = radamsa((uint8_t *) input, len, (uint8_t *) output, BUFSIZE, seed); - write_output(output, n, seed); - printf("Fuzzed %zu -> %zu bytes\n", len, n); - } - printf("library test passed\n"); - free(output); - free(input); - return 0; -} - |