Coverage Report

Created: 2025-07-11 06:09

/src/unbound/fuzz_2.c
Line
Count
Source
1
#include "config.h"
2
#include "sldns/sbuffer.h"
3
#include "sldns/wire2str.h"
4
#include "util/data/dname.h"
5
6
4.30k
int LLVMFuzzerTestOneInput(const uint8_t *bin, size_t nr) {
7
4.30k
  char *bout;
8
4.30k
  uint8_t *a;
9
4.30k
  char *b;
10
4.30k
  size_t bl;
11
4.30k
  size_t al;
12
4.30k
  size_t len;
13
14
4.30k
  if (nr > 2) {
15
4.30k
    len = bin[0] & 0xff;  // want random sized output buf
16
4.30k
    bout = malloc(len);
17
4.30k
    nr--;
18
4.30k
    bin++;
19
4.30k
    b = bout; bl = len; sldns_wire2str_edns_subnet_print(&b, &bl, bin, nr);
20
4.30k
    b = bout; bl = len; sldns_wire2str_edns_n3u_print(&b, &bl, bin, nr);
21
4.30k
    b = bout; bl = len; sldns_wire2str_edns_dhu_print(&b, &bl, bin, nr);
22
4.30k
    b = bout; bl = len; sldns_wire2str_edns_dau_print(&b, &bl, bin, nr);
23
4.30k
    b = bout; bl = len; sldns_wire2str_edns_nsid_print(&b, &bl, bin, nr);
24
4.30k
    b = bout; bl = len; sldns_wire2str_edns_ul_print(&b, &bl, bin, nr);
25
4.30k
    b = bout; bl = len; sldns_wire2str_edns_llq_print(&b, &bl, bin, nr); 
26
  
27
4.30k
    a = bin; al = nr; b = bout; bl = len; sldns_wire2str_tsigerror_scan(&a, &al, &b, &bl);
28
4.30k
    a = bin; al = nr; b = bout; bl = len; sldns_wire2str_long_str_scan(&a, &al, &b, &bl);
29
4.30k
    a = bin; al = nr; b = bout; bl = len; sldns_wire2str_tag_scan(&a, &al, &b, &bl);
30
4.30k
    a = bin; al = nr; b = bout; bl = len; sldns_wire2str_eui64_scan(&a, &al, &b, &bl);
31
4.30k
    a = bin; al = nr; b = bout; bl = len; sldns_wire2str_int16_data_scan(&a, &al, &b, &bl);
32
4.30k
    a = bin; al = nr; b = bout; bl = len; sldns_wire2str_hip_scan(&a, &al, &b, &bl);
33
4.30k
    a = bin; al = nr; b = bout; bl = len; sldns_wire2str_wks_scan(&a, &al, &b, &bl);
34
4.30k
    a = bin; al = nr; b = bout; bl = len; sldns_wire2str_loc_scan(&a, &al, &b, &bl);
35
4.30k
    a = bin; al = nr; b = bout; bl = len; sldns_wire2str_cert_alg_scan(&a, &al, &b, &bl);
36
4.30k
    a = bin; al = nr; b = bout; bl = len; sldns_wire2str_nsec3_salt_scan(&a, &al, &b, &bl);
37
4.30k
    a = bin; al = nr; b = bout; bl = len; sldns_wire2str_nsec_scan(&a, &al, &b, &bl);
38
4.30k
    a = bin; al = nr; b = bout; bl = len; sldns_wire2str_b32_ext_scan(&a, &al, &b, &bl);
39
4.30k
    a = bin; al = nr; b = bout; bl = len; sldns_wire2str_apl_scan(&a, &al, &b, &bl);
40
4.30k
    a = bin; al = nr; b = bout; bl = len; sldns_wire2str_str_scan(&a, &al, &b, &bl);
41
4.30k
    a = bin; al = nr; b = bout; bl = len; sldns_wire2str_rdata_unknown_scan(&a, &al, &b, &bl);
42
4.30k
    a = bin; al = nr; b = bout; bl = len; sldns_wire2str_header_scan(&a, &al, &b, &bl);
43
4.30k
    a = bin; al = nr; b = bout; bl = len; sldns_wire2str_pkt_scan(&a, &al, &b, &bl);
44
45
4.30k
    bin--;
46
4.30k
    free(bout);
47
4.30k
  }
48
49
4.30k
out:
50
4.30k
  return 0;
51
4.30k
}