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
108 108 9 :

['uWS::isParsingInvalidChunkedEncoding(unsigned long)', 'std::__1::basic_string_view >::data() const', 'uWS::ChunkIterator::ChunkIterator(std::__1::basic_string_view >*, unsigned long*, bool)', 'uWS::ChunkIterator::operator*()', 'uWS::ChunkIterator::end()', 'std::__1::basic_string_view >::length() const', 'uWS::ChunkIterator::operator!=(uWS::ChunkIterator const&) const', 'uWS::ChunkIterator::begin()', 'uWS::ChunkIterator::operator++()']

108 267 uWS::HttpParser::consumePostPadded(char*,unsignedint,void*,void*,ofats::any_invocable &&,ofats::any_invocable >,bool)>&&) call site: 00000 /src/uWebSockets/fuzzing/./../src/HttpParser.h:592
108 108 9 :

['uWS::isParsingInvalidChunkedEncoding(unsigned long)', 'std::__1::basic_string_view >::data() const', 'uWS::ChunkIterator::ChunkIterator(std::__1::basic_string_view >*, unsigned long*, bool)', 'uWS::ChunkIterator::operator*()', 'uWS::ChunkIterator::end()', 'std::__1::basic_string_view >::length() const', 'uWS::ChunkIterator::operator!=(uWS::ChunkIterator const&) const', 'uWS::ChunkIterator::begin()', 'uWS::ChunkIterator::operator++()']

108 267 uWS::HttpParser::consumePostPadded(char*,unsignedint,void*,void*,ofats::any_invocable &&,ofats::any_invocable >,bool)>&&) call site: 00000 /src/uWebSockets/fuzzing/./../src/HttpParser.h:649
58 60 2 :

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

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

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

24 43 us_internal_dispatch_ready_poll call site: 00000 /src/uWebSockets/fuzzing/../uSockets/src/loop.c:242
24 24 5 :

['std::__1::vector ::RouterData>*)>, std::__1::allocator ::RouterData>*)> > >::begin()', '_ZNSt3__111__wrap_iterIPKN5ofats13any_invocableIFbPN3uWS10HttpRouterINS3_15HttpContextDataILb0EE10RouterDataEEEEEEEC2IPSB_EERKNS0_IT_EEPNS_9enable_ifIXsr14is_convertibleISH_SD_EE5valueEvE4typeE', 'std::__1::vector ::RouterData>*)>, std::__1::allocator ::RouterData>*)> > >::erase(std::__1::__wrap_iter ::RouterData>*)> const*>)', 'uWS::HttpRouter ::RouterData>::cullNode(uWS::HttpRouter ::RouterData>::Node*, uWS::HttpRouter ::RouterData>::Node*, unsigned int)', 'std::__1::__wrap_iter ::RouterData>*)>*>::operator+(long) const']

24 24 uWS::HttpRouter ::RouterData>::remove(std::__1::basic_string ,std::__1::allocator >,std::__1::basic_string ,std::__1::allocator >,unsignedint) call site: 00000 /src/uWebSockets/fuzzing/../src/HttpRouter.h:362
2 4 2 :

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

2 6 uWS::AsyncSocket ::write(charconst*,int,bool,int) call site: 00000 /src/uWebSockets/fuzzing/../src/AsyncSocket.h:307
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 12 12 :

['std::__1::unique_ptr ::RouterData>::Node, std::__1::default_delete ::RouterData>::Node> >::operator->() const', 'std::__1::vector ::RouterData>::Node, std::__1::default_delete ::RouterData>::Node> >, std::__1::allocator ::RouterData>::Node, std::__1::default_delete ::RouterData>::Node> > > >::end()', 'std::__1::unique_ptr ::RouterData>::Node, std::__1::default_delete ::RouterData>::Node> >::get() const', 'std::__1::vector >::size() const', 'std::__1::__wrap_iter ::RouterData>::Node, std::__1::default_delete ::RouterData>::Node> >*>::operator*() const', 'std::__1::vector >::operator[](unsigned long)', 'bool std::__1::operator== >(std::__1::basic_string , std::__1::allocator > const&, std::__1::basic_string , std::__1::allocator > const&)', 'std::__1::vector ::RouterData>::Node, std::__1::default_delete ::RouterData>::Node> >, std::__1::allocator ::RouterData>::Node, std::__1::default_delete ::RouterData>::Node> > > >::begin()', 'uWS::HttpRouter ::RouterData>::getUrlSegment(int)', 'std::__1::basic_string , std::__1::allocator >::basic_string >, void>(std::__1::basic_string_view > const&)', 'bool std::__1::operator!= ::RouterData>::Node, std::__1::default_delete ::RouterData>::Node> >*>(std::__1::__wrap_iter ::RouterData>::Node, std::__1::default_delete ::RouterData>::Node> >*> const&, std::__1::__wrap_iter ::RouterData>::Node, std::__1::default_delete ::RouterData>::Node> >*> const&)', 'std::__1::__wrap_iter ::RouterData>::Node, std::__1::default_delete ::RouterData>::Node> >*>::operator++()']

0 12 uWS::HttpRouter ::RouterData>::findHandler(std::__1::basic_string ,std::__1::allocator >,std::__1::basic_string ,std::__1::allocator >,unsignedint) call site: 00000 /src/uWebSockets/fuzzing/../src/HttpRouter.h:225
0 0 None 110 249 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:490
0 0 None 110 249 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:519

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<false>::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<void ()>::operator()() [function] [call site] 00047
7 ofats::any_detail::any_invocable_impl<void, false>::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<false>::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<false>::HttpContextData() [function] [call site] 00066
5 ofats::any_invocable<void (char const*)>::any_invocable() [function] [call site] 00067
6 ofats::any_detail::any_invocable_impl<void, false, char const*>::any_invocable_impl() [function] [call site] 00068
7 ofats::any_detail::storage::storage() [function] [call site] 00069
5 uWS::HttpRouter<uWS::HttpContextData<false>::RouterData>::HttpRouter() [function] [call site] 00070
6 uWS::HttpRouter<uWS::HttpContextData<false>::RouterData>::Node::Node(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) [function] [call site] 00071
6 uWS::HttpRouter<uWS::HttpContextData<false>::RouterData>::RouteParameters::RouteParameters() [function] [call site] 00072
6 uWS::HttpRouter<uWS::HttpContextData<false>::RouterData>::getNode(uWS::HttpRouter<uWS::HttpContextData<false>::RouterData>::Node*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool) [function] [call site] 00073
7 uWS::HttpRouter<uWS::HttpContextData<false>::RouterData>::Node::Node(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) [function] [call site] 00074
6 uWS::HttpRouter<uWS::HttpContextData<false>::RouterData>::Node::~Node() [function] [call site] 00075
4 uWS::HttpContext<false>::init() [function] [call site] 00076
5 uWS::HttpContext<false>::getSocketContext() [function] [call site] 00077
5 us_socket_context_on_open [function] [call site] 00078
5 uWS::HttpContext<false>::getSocketContext() [function] [call site] 00079
5 us_socket_context_on_close [function] [call site] 00080
5 uWS::HttpContext<false>::getSocketContext() [function] [call site] 00081
5 us_socket_context_on_data [function] [call site] 00082
5 uWS::HttpContext<false>::getSocketContext() [function] [call site] 00083
5 us_socket_context_on_writable [function] [call site] 00084
5 uWS::HttpContext<false>::getSocketContext() [function] [call site] 00085
5 us_socket_context_on_end [function] [call site] 00086
5 uWS::HttpContext<false>::getSocketContext() [function] [call site] 00087
5 us_socket_context_on_timeout [function] [call site] 00088
3 ofats::any_invocable<void (uWS::HttpResponse<false>*, uWS::HttpRequest*)>::any_invocable<uWS::TemplatedApp<false>::TemplatedApp(uWS::SocketContextOptions)::{lambda(auto:1*, auto:2*)#1}, void>(uWS::TemplatedApp<false>::TemplatedApp(uWS::SocketContextOptions)::{lambda(auto:1*, auto:2*)#1}&&) [function] [call site] 00089
3 uWS::TemplatedApp<false>::any(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, ofats::any_invocable<void (uWS::HttpResponse<false>*, uWS::HttpRequest*)>&&) [function] [call site] 00090
4 uWS::HttpContext<false>::onHttp(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, ofats::any_invocable<void (uWS::HttpResponse<false>*, uWS::HttpRequest*)>&&, bool) [function] [call site] 00091
5 uWS::HttpContext<false>::getSocketContextData() [function] [call site] 00092
6 uWS::HttpContext<false>::getSocketContext() [function] [call site] 00093
6 us_socket_context_ext [function] [call site] 00094
5 ofats::any_detail::any_invocable_impl<void, false, uWS::HttpResponse<false>*, uWS::HttpRequest*>::operator bool() const [function] [call site] 00095
5 uWS::HttpRouter<uWS::HttpContextData<false>::RouterData>::remove(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, unsigned int) [function] [call site] 00096
6 uWS::HttpRouter<uWS::HttpContextData<false>::RouterData>::findHandler(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, unsigned int) [function] [call site] 00097
7 uWS::HttpRouter<uWS::HttpContextData<false>::RouterData>::setUrl(std::__1::basic_string_view<char, std::__1::char_traits<char> >) [function] [call site] 00098
7 uWS::HttpRouter<uWS::HttpContextData<false>::RouterData>::getUrlSegment(int) [function] [call site] 00099
7 uWS::HttpRouter<uWS::HttpContextData<false>::RouterData>::getUrlSegment(int) [function] [call site] 00100
6 uWS::HttpRouter<uWS::HttpContextData<false>::RouterData>::cullNode(uWS::HttpRouter<uWS::HttpContextData<false>::RouterData>::Node*, uWS::HttpRouter<uWS::HttpContextData<false>::RouterData>::Node*, unsigned int) [function] [call site] 00101
7 uWS::HttpRouter<uWS::HttpContextData<false>::RouterData>::cullNode(uWS::HttpRouter<uWS::HttpContextData<false>::RouterData>::Node*, uWS::HttpRouter<uWS::HttpContextData<false>::RouterData>::Node*, unsigned int) [function] [call site] 00102
5 ofats::any_invocable<void (uWS::HttpResponse<false>*, uWS::HttpRequest*)>::any_invocable(ofats::any_invocable<void (uWS::HttpResponse<false>*, uWS::HttpRequest*)>&&) [function] [call site] 00103
5 uWS::HttpRouter<uWS::HttpContextData<false>::RouterData>::add(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, ofats::any_invocable<bool (uWS::HttpRouter<uWS::HttpContextData<false>::RouterData>*)>&&, unsigned int) [function] [call site] 00104
6 uWS::HttpRouter<uWS::HttpContextData<false>::RouterData>::remove(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, unsigned int) [function] [call site] 00105
6 uWS::HttpRouter<uWS::HttpContextData<false>::RouterData>::getNode(uWS::HttpRouter<uWS::HttpContextData<false>::RouterData>::Node*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool) [function] [call site] 00106
6 uWS::HttpRouter<uWS::HttpContextData<false>::RouterData>::setUrl(std::__1::basic_string_view<char, std::__1::char_traits<char> >) [function] [call site] 00107
6 uWS::HttpRouter<uWS::HttpContextData<false>::RouterData>::getUrlSegment(int) [function] [call site] 00108
6 uWS::HttpRouter<uWS::HttpContextData<false>::RouterData>::getUrlSegment(int) [function] [call site] 00109
6 uWS::HttpRouter<uWS::HttpContextData<false>::RouterData>::getNode(uWS::HttpRouter<uWS::HttpContextData<false>::RouterData>::Node*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool) [function] [call site] 00110
5 uWS::HttpContext<false>::onHttp(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, ofats::any_invocable<void (uWS::HttpResponse<false>*, uWS::HttpRequest*)>&&, bool)::{lambda(auto:1*)#1}::~any_invocable() [function] [call site] 00111
2 ofats::any_invocable<void (uWS::HttpResponse<false>*, uWS::HttpRequest*)>::any_invocable<test()::$_0, void>(test()::$_0&&) [function] [call site] 00112
2 uWS::TemplatedApp<false>::get(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, ofats::any_invocable<void (uWS::HttpResponse<false>*, uWS::HttpRequest*)>&&) [function] [call site] 00113
3 uWS::HttpContext<false>::onHttp(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, ofats::any_invocable<void (uWS::HttpResponse<false>*, uWS::HttpRequest*)>&&, bool) [function] [call site] 00114
2 ofats::any_invocable<void (us_listen_socket_t*)>::any_invocable<test()::$_1, void>(test()::$_1&&) [function] [call site] 00115
2 uWS::TemplatedApp<false>::listen(int, ofats::any_invocable<void (us_listen_socket_t*)>&&) [function] [call site] 00116
3 uWS::HttpContext<false>::listen(char const*, int, int) [function] [call site] 00117
4 uWS::HttpContext<false>::getSocketContext() [function] [call site] 00118
4 us_socket_context_listen [function] [call site] 00119
5 bsd_create_listen_socket [function] [call site] 00120
6 snprintf [call site] 00121
6 getaddrinfo [call site] 00122
6 bsd_create_socket [function] [call site] 00123
7 socket [call site] 00124
7 bsd_set_nonblocking [function] [call site] 00125
8 fcntl [call site] 00126
6 bsd_create_socket [function] [call site] 00127
6 freeaddrinfo [call site] 00128
6 setsockopt [call site] 00129
6 setsockopt [call site] 00130
6 setsockopt [call site] 00131
6 bind [call site] 00132
6 bsd_close_socket [function] [call site] 00133
7 close [call site] 00134
6 freeaddrinfo [call site] 00135
5 us_create_poll [function] [call site] 00136
5 us_poll_init [function] [call site] 00137
5 us_poll_start [function] [call site] 00138
5 us_internal_socket_context_link_listen_socket [function] [call site] 00139
3 ofats::any_invocable<void (us_listen_socket_t*)>::operator()(us_listen_socket_t*) [function] [call site] 00140
2 ofats::any_detail::any_invocable_impl<void, false, us_listen_socket_t*>::~any_invocable_impl() [function] [call site] 00141
3 ofats::any_detail::any_invocable_impl<void, false, us_listen_socket_t*>::destroy() [function] [call site] 00142
4 __clang_call_terminate [call site] 00143
2 uWS::TemplatedApp<false>::run() [function] [call site] 00144
3 uWS::run() [function] [call site] 00145
4 uWS::Loop::get(void*) [function] [call site] 00146
2 uWS::TemplatedApp<false>::~TemplatedApp() [function] [call site] 00147
3 uWS::HttpContext<false>::free() [function] [call site] 00148
4 uWS::HttpContext<false>::getSocketContextData() [function] [call site] 00149
4 uWS::HttpContextData<false>::~HttpContextData() [function] [call site] 00150
4 uWS::HttpContext<false>::getSocketContext() [function] [call site] 00151
4 us_socket_context_free [function] [call site] 00152
5 us_internal_loop_unlink [function] [call site] 00153
3 ofats::any_invocable<void ()>::operator()() [function] [call site] 00154
3 uWS::TopicTree<uWS::TopicTreeMessage, uWS::TopicTreeBigMessage>::~TopicTree() [function] [call site] 00155
3 uWS::Loop::get(void*) [function] [call site] 00156
3 uWS::Loop::get(void*) [function] [call site] 00157
3 __clang_call_terminate [call site] 00158
2 uWS::Loop::get(void*) [function] [call site] 00159
1 puts [call site] 00160