Fuzz introspector: AsyncEpollHelloWorld
For issues and ideas: https://github.com/ossf/fuzz-introspector/issues

Fuzz blockers

The followings are the branches where fuzzer fails to bypass.

Unique non-covered Complexity Unique Reachable Complexities Unique Reachable Functions All non-covered Complexity All Reachable Complexity Function Name Function Callsite Blocked Branch
58 60 2 :

['us_socket_timeout', 'uWS::HttpResponseData ::callOnWritable(unsigned long)']

58 60 uWS::HttpContext ::init()::{lambda(us_socket_t*)#1}::operator()(us_socket_t*)const call site: 00000 /src/uWebSockets/fuzzing/../src/HttpContext.h:327
24 37 4 :

['us_internal_poll_set_type', 'us_poll_change', 'us_socket_timeout', 'us_socket_close_connecting']

24 43 us_internal_dispatch_ready_poll call site: 00000 /src/uWebSockets/fuzzing/../uSockets/src/loop.c:214
2 4 2 :

['uWS::BackPressure::reserve(unsigned long)', 'uWS::BackPressure::length()']

2 6 uWS::AsyncSocket ::write(charconst*,int,bool,int) call site: 00000 /src/uWebSockets/fuzzing/../src/AsyncSocket.h:312
2 2 1 :

['exit']

2 2 teardown() call site: 00000 /src/uWebSockets/fuzzing/AsyncEpollHelloWorld.cpp:49
2 2 1 :

['__real_read']

2 2 __wrap_read call site: 00000 /src/uWebSockets/fuzzing/./libEpollFuzzer/epoll_fuzzer.h:334
2 2 1 :

['__real_close']

2 2 __wrap_close call site: 00000 /src/uWebSockets/fuzzing/./libEpollFuzzer/epoll_fuzzer.h:680
0 0 None 116 245 std::__1::pair uWS::HttpParser::fenceAndConsumePostPadded<0>(char*,unsignedint,void*,void*,uWS::HttpRequest*,ofats::any_invocable &,ofats::any_invocable >,bool)>&) call site: 00000 /src/uWebSockets/fuzzing/./../src/HttpParser.h:434
0 0 None 116 245 std::__1::pair uWS::HttpParser::fenceAndConsumePostPadded<0>(char*,unsignedint,void*,void*,uWS::HttpRequest*,ofats::any_invocable &,ofats::any_invocable >,bool)>&) call site: 00000 /src/uWebSockets/fuzzing/./../src/HttpParser.h:463
0 0 None 110 374 uWS::HttpParser::consumePostPadded(char*,unsignedint,void*,void*,ofats::any_invocable &&,ofats::any_invocable >,bool)>&&) call site: 00000 /src/uWebSockets/fuzzing/./../src/HttpParser.h:533
0 0 1 :

['std::__1::vector , std::__1::allocator >, std::__1::allocator , std::__1::allocator > > >::operator=(std::__1::vector , std::__1::allocator >, std::__1::allocator , std::__1::allocator > > > const&)']

97 222 uWS::HttpContext ::onHttp(std::__1::basic_string ,std::__1::allocator >,std::__1::basic_string ,std::__1::allocator >,ofats::any_invocable *,uWS::HttpRequest*)>&&,bool) call site: 00000 /src/uWebSockets/fuzzing/../src/HttpContext.h:424
0 0 None 81 1119 uWS::HttpResponse ::internalEnd(std::__1::basic_string_view >,unsignedlong,bool,bool,bool) call site: 00000 /src/uWebSockets/fuzzing/../src/HttpResponse.h:97
0 0 None 51 174 uWS::HttpContext ::onHttp(std::__1::basic_string ,std::__1::allocator >,std::__1::basic_string ,std::__1::allocator >,ofats::any_invocable *,uWS::HttpRequest*)>&&,bool) call site: 00000 /src/uWebSockets/fuzzing/../src/HttpContext.h:433

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 set_consumable_data [function] [call site] 00001
1 test() [function] [call site] 00002
2 uWS::TemplatedApp ::TemplatedApp(uWS::SocketContextOptions) [function] [call site] 00003
3 uWS::Loop::get(void*) [function] [call site] 00004
4 uWS::Loop::getLazyLoop() [function] [call site] 00005
5 __cxa_thread_atexit [call site] 00006
5 uWS::Loop::LoopCleaner::~LoopCleaner() [function] [call site] 00007
6 uWS::Loop::free() [function] [call site] 00008
7 us_loop_ext [function] [call site] 00009
7 us_timer_close [function] [call site] 00010
8 us_poll_stop [function] [call site] 00011
9 epoll_ctl [call site] 00012
9 us_internal_loop_update_pending_ready_polls [function] [call site] 00013
8 us_poll_fd [function] [call site] 00014
8 close [call site] 00015
8 us_poll_free [function] [call site] 00016
7 uWS::LoopData::~LoopData() [function] [call site] 00017
7 us_loop_free [function] [call site] 00018
8 us_internal_loop_data_free [function] [call site] 00019
9 us_timer_close [function] [call site] 00020
9 us_internal_async_close [function] [call site] 00021
10 us_poll_stop [function] [call site] 00022
10 us_poll_fd [function] [call site] 00023
10 close [call site] 00024
10 us_poll_free [function] [call site] 00025
8 close [call site] 00026
7 uWS::Loop::getLazyLoop() [function] [call site] 00027
6 __clang_call_terminate [call site] 00028
7 __cxa_begin_catch [call site] 00029
4 uWS::Loop::create(void*) [function] [call site] 00030
5 us_create_loop [function] [call site] 00031
6 us_internal_loop_data_init [function] [call site] 00032
7 us_create_timer [function] [call site] 00033
8 us_create_poll [function] [call site] 00034
8 timerfd_create [call site] 00035
8 us_poll_init [function] [call site] 00036
7 us_internal_create_async [function] [call site] 00037
8 us_create_poll [function] [call site] 00038
8 eventfd [call site] 00039
8 us_poll_init [function] [call site] 00040
7 us_internal_async_set [function] [call site] 00041
8 us_poll_start [function] [call site] 00042
9 us_internal_poll_type [function] [call site] 00043
9 epoll_ctl [call site] 00044
5 uWS::Loop::wakeupCb(us_loop_t*) [function] [call site] 00045
6 us_loop_ext [function] [call site] 00046
6 ofats::any_invocable ::operator()() [function] [call site] 00047
7 ofats::any_detail::any_invocable_impl ::call() [function] [call site] 00048
5 us_loop_ext [function] [call site] 00049
5 us_create_timer [function] [call site] 00050
5 us_timer_ext [function] [call site] 00051
5 uWS::Loop::create(void*)::{lambda(us_timer_t*)#1}::operator void (*)(us_timer_t*)() const [function] [call site] 00052
5 us_timer_set [function] [call site] 00053
6 us_poll_fd [function] [call site] 00054
6 timerfd_settime [call site] 00055
6 us_poll_start [function] [call site] 00056
4 uWS::Loop::create(void*) [function] [call site] 00057
4 uWS::Loop::getLazyLoop() [function] [call site] 00058
4 uWS::Loop::getLazyLoop() [function] [call site] 00059
3 uWS::SocketContextOptions::operator us_socket_context_options_t() const [function] [call site] 00060
3 uWS::HttpContext ::create(uWS::Loop*, us_socket_context_options_t) [function] [call site] 00061
4 us_create_socket_context [function] [call site] 00062
5 default_is_low_prio_handler [function] [call site] 00063
5 us_internal_loop_link [function] [call site] 00064
4 us_socket_context_ext [function] [call site] 00065
4 uWS::HttpContextData ::HttpContextData() [function] [call site] 00066
5 ofats::any_invocable ::any_invocable() [function] [call site] 00067
6 ofats::any_detail::any_invocable_impl ::any_invocable_impl() [function] [call site] 00068
7 ofats::any_detail::storage::storage() [function] [call site] 00069
5 uWS::HttpRouter ::RouterData>::HttpRouter() [function] [call site] 00070
6 uWS::HttpRouter ::RouterData>::Node::Node(std::__1::basic_string , std::__1::allocator >) [function] [call site] 00071
6 uWS::HttpRouter ::RouterData>::RouteParameters::RouteParameters() [function] [call site] 00072
6 uWS::HttpRouter ::RouterData>::Node::~Node() [function] [call site] 00073
4 uWS::HttpContext ::init() [function] [call site] 00074
5 uWS::HttpContext ::getSocketContext() [function] [call site] 00075
5 us_socket_context_on_open [function] [call site] 00076
5 uWS::HttpContext ::getSocketContext() [function] [call site] 00077
5 us_socket_context_on_close [function] [call site] 00078
5 uWS::HttpContext ::getSocketContext() [function] [call site] 00079
5 us_socket_context_on_data [function] [call site] 00080
5 uWS::HttpContext ::getSocketContext() [function] [call site] 00081
5 us_socket_context_on_writable [function] [call site] 00082
5 uWS::HttpContext ::getSocketContext() [function] [call site] 00083
5 us_socket_context_on_end [function] [call site] 00084
5 uWS::HttpContext ::getSocketContext() [function] [call site] 00085
5 us_socket_context_on_timeout [function] [call site] 00086
2 ofats::any_invocable *, uWS::HttpRequest*)>::any_invocable (test()::$_0&&) [function] [call site] 00087
2 uWS::TemplatedApp ::get(std::__1::basic_string , std::__1::allocator >, ofats::any_invocable *, uWS::HttpRequest*)>&&) [function] [call site] 00088
3 uWS::HttpContext ::onHttp(std::__1::basic_string , std::__1::allocator >, std::__1::basic_string , std::__1::allocator >, ofats::any_invocable *, uWS::HttpRequest*)>&&, bool) [function] [call site] 00089
4 uWS::HttpContext ::getSocketContextData() [function] [call site] 00090
5 uWS::HttpContext ::getSocketContext() [function] [call site] 00091
5 us_socket_context_ext [function] [call site] 00092
4 ofats::any_detail::any_invocable_impl *, uWS::HttpRequest*>::operator bool() const [function] [call site] 00093
4 uWS::HttpRouter ::RouterData>::remove(std::__1::basic_string , std::__1::allocator >, std::__1::basic_string , std::__1::allocator >, unsigned int) [function] [call site] 00094
5 uWS::HttpRouter ::RouterData>::findHandler(std::__1::basic_string , std::__1::allocator >, std::__1::basic_string , std::__1::allocator >, unsigned int) [function] [call site] 00095
6 uWS::HttpRouter ::RouterData>::setUrl(std::__1::basic_string_view >) [function] [call site] 00096
6 uWS::HttpRouter ::RouterData>::getUrlSegment(int) [function] [call site] 00097
6 uWS::HttpRouter ::RouterData>::getUrlSegment(int) [function] [call site] 00098
5 uWS::HttpRouter ::RouterData>::cullNode(uWS::HttpRouter ::RouterData>::Node*, uWS::HttpRouter ::RouterData>::Node*, unsigned int) [function] [call site] 00099
6 uWS::HttpRouter ::RouterData>::cullNode(uWS::HttpRouter ::RouterData>::Node*, uWS::HttpRouter ::RouterData>::Node*, unsigned int) [function] [call site] 00100
4 ofats::any_invocable *, uWS::HttpRequest*)>::any_invocable(ofats::any_invocable *, uWS::HttpRequest*)>&&) [function] [call site] 00101
4 uWS::HttpRouter ::RouterData>::add(std::__1::vector , std::__1::allocator >, std::__1::allocator , std::__1::allocator > > >, std::__1::basic_string , std::__1::allocator >, ofats::any_invocable ::RouterData>*)>&&, unsigned int) [function] [call site] 00102
5 uWS::HttpRouter ::RouterData>::getNode(uWS::HttpRouter ::RouterData>::Node*, std::__1::basic_string , std::__1::allocator >, bool) [function] [call site] 00103
6 uWS::HttpRouter ::RouterData>::Node::Node(std::__1::basic_string , std::__1::allocator >) [function] [call site] 00104
5 uWS::HttpRouter ::RouterData>::setUrl(std::__1::basic_string_view >) [function] [call site] 00105
5 uWS::HttpRouter ::RouterData>::getUrlSegment(int) [function] [call site] 00106
5 uWS::HttpRouter ::RouterData>::getUrlSegment(int) [function] [call site] 00107
5 uWS::HttpRouter ::RouterData>::findHandler(std::__1::basic_string , std::__1::allocator >, std::__1::basic_string , std::__1::allocator >, unsigned int) [function] [call site] 00108
5 abort [call site] 00109
4 uWS::HttpContext ::onHttp(std::__1::basic_string , std::__1::allocator >, std::__1::basic_string , std::__1::allocator >, ofats::any_invocable *, uWS::HttpRequest*)>&&, bool)::{lambda(auto:1*)#1}::~any_invocable() [function] [call site] 00110
2 ofats::any_invocable ::any_invocable (test()::$_1&&) [function] [call site] 00111
2 uWS::TemplatedApp ::listen(int, ofats::any_invocable &&) [function] [call site] 00112
3 uWS::HttpContext ::listen(char const*, int, int) [function] [call site] 00113
4 uWS::HttpContext ::getSocketContext() [function] [call site] 00114
4 us_socket_context_listen [function] [call site] 00115
5 bsd_create_listen_socket [function] [call site] 00116
6 snprintf [call site] 00117
6 getaddrinfo [call site] 00118
6 bsd_create_socket [function] [call site] 00119
7 socket [call site] 00120
7 bsd_set_nonblocking [function] [call site] 00121
8 fcntl [call site] 00122
6 bsd_create_socket [function] [call site] 00123
6 freeaddrinfo [call site] 00124
6 setsockopt [call site] 00125
6 setsockopt [call site] 00126
6 setsockopt [call site] 00127
6 bind [call site] 00128
6 bsd_close_socket [function] [call site] 00129
7 close [call site] 00130
6 freeaddrinfo [call site] 00131
5 us_create_poll [function] [call site] 00132
5 us_poll_init [function] [call site] 00133
5 us_poll_start [function] [call site] 00134
5 us_internal_socket_context_link_listen_socket [function] [call site] 00135
3 ofats::any_invocable ::operator()(us_listen_socket_t*) [function] [call site] 00136
2 ofats::any_detail::any_invocable_impl ::~any_invocable_impl() [function] [call site] 00137
3 ofats::any_detail::any_invocable_impl ::destroy() [function] [call site] 00138
4 __clang_call_terminate [call site] 00139
2 uWS::TemplatedApp ::run() [function] [call site] 00140
3 uWS::run() [function] [call site] 00141
4 uWS::Loop::get(void*) [function] [call site] 00142
2 uWS::TemplatedApp ::~TemplatedApp() [function] [call site] 00143
3 uWS::HttpContext ::free() [function] [call site] 00144
4 uWS::HttpContext ::getSocketContextData() [function] [call site] 00145
4 uWS::HttpContextData ::~HttpContextData() [function] [call site] 00146
4 uWS::HttpContext ::getSocketContext() [function] [call site] 00147
4 us_socket_context_free [function] [call site] 00148
5 us_internal_loop_unlink [function] [call site] 00149
3 ofats::any_invocable ::operator()() [function] [call site] 00150
3 uWS::TopicTree ::~TopicTree() [function] [call site] 00151
3 uWS::Loop::get(void*) [function] [call site] 00152
3 uWS::Loop::get(void*) [function] [call site] 00153
3 __clang_call_terminate [call site] 00154
2 uWS::Loop::get(void*) [function] [call site] 00155
1 puts [call site] 00156