]>
The Tcpdump Group git mirrors - libpcap/blob - testprogs/fuzz/fuzz_rclient.c
9 struct pcap_rmtauth auth
;
11 void fuzz_openFile(const char * name
) {
12 if (outfile
!= NULL
) {
15 outfile
= fopen(name
, "w");
16 auth
.type
= RPCAP_RMTAUTH_PWD
;
17 auth
.username
= "user";
18 auth
.password
= "pass";
21 void sock_initfuzz(const uint8_t *Data
, size_t Size
);
22 int LLVMFuzzerTestOneInput(const uint8_t *Data
, size_t Size
) {
24 char errbuf
[PCAP_ERRBUF_SIZE
];
26 struct pcap_pkthdr
*header
;
27 struct pcap_stat stats
;
31 if (outfile
== NULL
) {
32 fuzz_openFile("/dev/null");
35 sock_initfuzz(Data
, Size
);
36 //initialize structure
37 pkts
= pcap_open("rpcap://127.0.0.1/fuzz.pcap", 0, 0, 1000, &auth
, errbuf
);
39 fprintf(outfile
, "Couldn't open pcap file %s\n", errbuf
);
44 r
= pcap_next_ex(pkts
, &header
, &pkt
);
46 fprintf(outfile
, "packet length=%d/%d\n",header
->caplen
, header
->len
);
47 r
= pcap_next_ex(pkts
, &header
, &pkt
);
49 if (pcap_stats(pkts
, &stats
) == 0) {
50 fprintf(outfile
, "number of packets=%d\n", stats
.ps_recv
);