fuzz: http_request workaround for libevent < 2.1.1

Before libevent 2.1.1, internal functions names didn't end with an underscore.
This commit is contained in:
Sebastian Falbesoner 2020-04-17 13:58:44 +02:00
parent c189bfd260
commit 6f8b498d18

View file

@ -9,6 +9,7 @@
#include <test/fuzz/util.h>
#include <event2/buffer.h>
#include <event2/event.h>
#include <event2/http.h>
#include <event2/http_struct.h>
@ -17,8 +18,24 @@
#include <string>
#include <vector>
// workaround for libevent versions before 2.1.1,
// when internal functions didn't have underscores at the end
#if LIBEVENT_VERSION_NUMBER < 0x02010100
extern "C" int evhttp_parse_firstline(struct evhttp_request*, struct evbuffer*);
extern "C" int evhttp_parse_headers(struct evhttp_request*, struct evbuffer*);
inline int evhttp_parse_firstline_(struct evhttp_request* r, struct evbuffer* b)
{
return evhttp_parse_firstline(r, b);
}
inline int evhttp_parse_headers_(struct evhttp_request* r, struct evbuffer* b)
{
return evhttp_parse_headers(r, b);
}
#else
extern "C" int evhttp_parse_firstline_(struct evhttp_request*, struct evbuffer*);
extern "C" int evhttp_parse_headers_(struct evhttp_request*, struct evbuffer*);
#endif
std::string RequestMethodString(HTTPRequest::RequestMethod m);
void test_one_input(const std::vector<uint8_t>& buffer)