#include "flow.h"
#ifdef AFLFUZZ_DECODER
+int AFLDecodeIPV4(ThreadVars *tv, DecodeThreadVars *dtv, Packet *p,
+ const uint8_t *pkt, uint32_t len, PacketQueue *pq)
+{
+ return DecodeIPV4(tv, dtv, p, pkt, (uint16_t)len, pq);
+}
+int AFLDecodeIPV6(ThreadVars *tv, DecodeThreadVars *dtv, Packet *p,
+ const uint8_t *pkt, uint32_t len, PacketQueue *pq)
+{
+ return DecodeIPV6(tv, dtv, p, pkt, (uint16_t)len, pq);
+}
/* stateful processing of data as packets. Because AFL in case of a
* crash will only safe the last input, we dump all the inputs to a
void AddressDebugPrint(Address *);
-#ifdef AFLFUZZ_DECODER
typedef int (*DecoderFunc)(ThreadVars *tv, DecodeThreadVars *dtv, Packet *p,
- uint8_t *pkt, uint32_t len, PacketQueue *pq);
-
+ const uint8_t *pkt, uint32_t len, PacketQueue *pq);
+#ifdef AFLFUZZ_DECODER
+int AFLDecodeIPV4(ThreadVars *tv, DecodeThreadVars *dtv, Packet *p,
+ const uint8_t *pkt, uint32_t len, PacketQueue *pq);
+int AFLDecodeIPV6(ThreadVars *tv, DecodeThreadVars *dtv, Packet *p,
+ const uint8_t *pkt, uint32_t len, PacketQueue *pq);
int DecoderParseDataFromFile(char *filename, DecoderFunc Decoder);
int DecoderParseDataFromFileSerie(char *fileprefix, DecoderFunc Decoder);
#endif
SpmTableSetup();
AppLayerProtoDetectSetup();
if (strcmp(opt_name, "afl-decoder-ipv4") == 0)
- exit(DecoderParseDataFromFile(opt_arg, DecodeIPV4));
+ exit(DecoderParseDataFromFile(opt_arg, AFLDecodeIPV4));
else
- exit(DecoderParseDataFromFileSerie(opt_arg, DecodeIPV4));
+ exit(DecoderParseDataFromFileSerie(opt_arg, AFLDecodeIPV4));
} else if(strstr(opt_name, "afl-decoder-ipv6") != NULL) {
StatsInit();
MpmTableSetup();
SpmTableSetup();
AppLayerProtoDetectSetup();
if (strcmp(opt_name, "afl-decoder-ipv6") == 0)
- exit(DecoderParseDataFromFile(opt_arg, DecodeIPV6));
+ exit(DecoderParseDataFromFile(opt_arg, AFLDecodeIPV6));
else
- exit(DecoderParseDataFromFileSerie(opt_arg, DecodeIPV6));
+ exit(DecoderParseDataFromFileSerie(opt_arg, AFLDecodeIPV6));
} else if(strstr(opt_name, "afl-decoder-ethernet") != NULL) {
StatsInit();
MpmTableSetup();