Sha256: 1da836b8df63f915546ad9f3ae4833095e551242a4be0976578f2c3cf62163ef

Contents?: true

Size: 921 Bytes

Versions: 2

Compression:

Stored size: 921 Bytes

Contents

#include <assert.h>
#include <libdeflate.h>
#include <string.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/stat.h>

int main(int argc, char **argv)
{
	struct libdeflate_decompressor *d;
	struct libdeflate_compressor *c;
	int ret;
	int fd = open(argv[1], O_RDONLY);
	struct stat stbuf;
	assert(fd >= 0);
	ret = fstat(fd, &stbuf);
	assert(!ret);

	char in[stbuf.st_size];
	ret = read(fd, in, sizeof in);
	assert(ret == sizeof in);

	c = libdeflate_alloc_compressor(6);
	d = libdeflate_alloc_decompressor();

	char out[sizeof(in)];
	char checkarray[sizeof(in)];

	size_t csize = libdeflate_deflate_compress(c, in,sizeof in, out, sizeof out);
	if (csize) {
		enum libdeflate_result res;
		res = libdeflate_deflate_decompress(d, out, csize, checkarray, sizeof in, NULL);
		assert(!res);
		assert(!memcmp(in, checkarray, sizeof in));
	}

	libdeflate_free_compressor(c);
	libdeflate_free_decompressor(d);
	return 0;
}

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
libdeflate-0.1.1 ext/libdeflate/libdeflate/tools/afl-fuzz/deflate_compress/fuzz.c
libdeflate-0.1.0 ext/libdeflate/libdeflate/tools/afl-fuzz/deflate_compress/fuzz.c