mirror of
https://github.com/intel/isa-l.git
synced 2024-12-13 01:42:56 +01:00
4f59eeda90
Moved the afl fuzz test and added llvm fuzz tests including inflate and round trip compress and inflate. Currently only works with clang, std makefile and libFuzzer installed. Need to add checking and support later when libfuzzer is more tightly integrated into the compiler. Change-Id: I2db9ad2335d6c5ed846886703b58225f67bcc935 Signed-off-by: Greg Tucker <greg.b.tucker@intel.com>
38 lines
801 B
C
38 lines
801 B
C
#define _FILE_OFFSET_BITS 64
|
|
#include <stdio.h>
|
|
#include <assert.h>
|
|
#include <zlib.h>
|
|
#include "huff_codes.h"
|
|
#include "igzip_lib.h"
|
|
#include "test.h"
|
|
|
|
extern int LLVMFuzzerTestOneInput(const uint8_t * data, size_t size);
|
|
|
|
int main(int argc, char *argv[])
|
|
{
|
|
FILE *in = NULL;
|
|
unsigned char *in_buf = NULL;
|
|
uint64_t in_file_size;
|
|
|
|
if (argc != 2) {
|
|
fprintf(stderr, "Usage: isal_fuzz_inflate <infile>\n");
|
|
exit(1);
|
|
}
|
|
in = fopen(argv[1], "rb");
|
|
if (!in) {
|
|
fprintf(stderr, "Can't open %s for reading\n", argv[1]);
|
|
exit(1);
|
|
}
|
|
in_file_size = get_filesize(in);
|
|
in_buf = malloc(in_file_size);
|
|
|
|
if (in_buf == NULL) {
|
|
fprintf(stderr, "Failed to malloc input and outputs buffers\n");
|
|
exit(1);
|
|
}
|
|
|
|
fread(in_buf, 1, in_file_size, in);
|
|
|
|
return LLVMFuzzerTestOneInput(in_buf, in_file_size);
|
|
}
|