]> git.proxmox.com Git - ceph.git/blob - ceph/src/isa-l/tests/fuzz/igzip_dump_inflate_corpus.c
Import ceph 15.2.8
[ceph.git] / ceph / src / isa-l / tests / fuzz / igzip_dump_inflate_corpus.c
1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <string.h>
4 #include "inflate_std_vects.h"
5
6 #define DNAME_MAX 256
7 #define FNAME_MAX (DNAME_MAX + 81)
8
9 int main(int argc, char *argv[])
10 {
11 uint8_t *buf;
12 int i, len, err;
13 FILE *fout = NULL;
14 char fname[FNAME_MAX];
15 char dname[DNAME_MAX];
16
17 if (argc != 2) {
18 fprintf(stderr, "Usage: %s <outdir>\n", argv[0]);
19 exit(1);
20 }
21 strncpy(dname, argv[1], DNAME_MAX - 1);
22
23 for (i = 0; i < sizeof(std_vect_array) / sizeof(struct vect_result); i++) {
24 buf = std_vect_array[i].vector;
25 len = std_vect_array[i].vector_length;
26 err = std_vect_array[i].expected_error;
27
28 snprintf(fname, FNAME_MAX, "%s/inflate_corp_n%04d_e%04d", dname, i, err);
29 printf(" writing %s\n", fname);
30 fout = fopen(fname, "w+");
31 if (!fout) {
32 fprintf(stderr, "Can't open %s for writing\n", fname);
33 exit(1);
34 }
35 fwrite(buf, len, 1, fout);
36 fclose(fout);
37 }
38
39 return 0;
40 }