Fuzz introspector: fuzz_uri
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
2 2 1 :

['abort']

2 2 apr_pool_destroy_debug call site: 00088 /src/httpd/srclib/apr/memory/unix/apr_pools.c:1992
2 2 1 :

['abort']

2 2 pool_clear_debug call site: 00099 /src/httpd/srclib/apr/memory/unix/apr_pools.c:1888
0 4 1 :

['apr_thread_mutex_lock']

0 4 parent_lock call site: 00090 /src/httpd/srclib/apr/memory/unix/apr_pools.c:1492
0 0 None 77 77 free_proc_chain call site: 00101 /src/httpd/srclib/apr/memory/unix/apr_pools.c:2773
0 0 None 2 27 apr_thread_mutex_create call site: 00009 /src/httpd/srclib/apr/locks/unix/thread_mutex.c:54
0 0 None 2 2 apr_thread_mutex_create call site: 00015 /src/httpd/srclib/apr/locks/unix/thread_mutex.c:61
0 0 None 2 2 apr_pool_cleanup_register call site: 00021 /src/httpd/srclib/apr/memory/unix/apr_pools.c:2538
0 0 None 0 89 apr_pool_terminate call site: 00086 /src/httpd/srclib/apr/memory/unix/apr_pools.c:1763
0 0 None 0 66 apr_pool_create_ex_debug call site: 00006 /src/httpd/srclib/apr/memory/unix/apr_pools.c:2032
0 0 None 0 17 apr_pstrndup call site: 00082 /src/httpd/srclib/apr/strings/apr_strings.c:91
0 0 None 0 10 apr_pool_create_ex_debug call site: 00028 /src/httpd/srclib/apr/memory/unix/apr_pools.c:2085
0 0 None 0 0 apr_thread_mutex_create call site: 00019 /src/httpd/srclib/apr/locks/unix/thread_mutex.c:92

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 af_gb_init [function] [call site] 00001
1 af_gb_get_null_terminated [function] [call site] 00002
2 af_get_null_terminated [function] [call site] 00003
1 apr_pool_initialize [function] [call site] 00004
2 sysconf [call site] 00005
2 apr_pool_create_ex_debug [function] [call site] 00006
3 apr_pool_check_lifetime [function] [call site] 00007
3 apr_thread_mutex_create [function] [call site] 00008
4 apr_pcalloc_debug [function] [call site] 00009
5 apr_pool_check_integrity [function] [call site] 00010
6 apr_pool_check_lifetime [function] [call site] 00011
6 apr_pool_check_owner [function] [call site] 00012
5 pool_alloc [function] [call site] 00013
4 pthread_mutexattr_init [call site] 00014
4 pthread_mutexattr_settype [call site] 00015
4 pthread_mutexattr_destroy [call site] 00016
4 pthread_mutex_init [call site] 00017
4 pthread_mutexattr_destroy [call site] 00018
4 pthread_mutex_init [call site] 00019
4 apr_pool_cleanup_register [function] [call site] 00020
5 apr_pool_check_integrity [function] [call site] 00021
5 apr_palloc_debug [function] [call site] 00022
6 apr_pool_check_integrity [function] [call site] 00023
6 pool_alloc [function] [call site] 00024
5 abort [call site] 00025
4 thread_mutex_cleanup [function] [call site] 00026
5 pthread_mutex_destroy [call site] 00027
3 pool_lock [function] [call site] 00028
4 apr_thread_mutex_lock [function] [call site] 00029
5 pthread_mutex_lock [call site] 00030
3 pool_unlock [function] [call site] 00031
4 apr_thread_mutex_unlock [function] [call site] 00032
5 pthread_mutex_unlock [call site] 00033
3 apr_os_thread_current [function] [call site] 00034
4 pthread_self [call site] 00035
2 apr_pool_tag [function] [call site] 00036
2 apr_atomic_init [function] [call site] 00037
1 apr_pool_create_ex [function] [call site] 00038
2 apr_pool_create_ex_debug [function] [call site] 00039
1 apr_uri_parse [function] [call site] 00040
2 apr_pstrmemdup [function] [call site] 00041
3 apr_palloc_debug [function] [call site] 00042
2 strchr [call site] 00043
2 apr_pstrdup [function] [call site] 00044
3 strlen [call site] 00045
3 apr_pmemdup [function] [call site] 00046
4 apr_palloc_debug [function] [call site] 00047
2 apr_pstrmemdup [function] [call site] 00048
2 apr_pstrdup [function] [call site] 00049
2 apr_pstrdup [function] [call site] 00050
2 apr_pstrmemdup [function] [call site] 00051
2 strchr [call site] 00052
2 strchr [call site] 00053
2 apr_pstrmemdup [function] [call site] 00054
2 memchr [call site] 00055
2 memchr [call site] 00056
2 apr_pstrmemdup [function] [call site] 00057
2 apr_pstrmemdup [function] [call site] 00058
2 apr_pstrmemdup [function] [call site] 00059
2 strtol [call site] 00060
2 apr_uri_port_of_scheme [function] [call site] 00061
3 strcasecmp [call site] 00062
2 memchr [call site] 00063
2 apr_pstrmemdup [function] [call site] 00064
2 apr_pstrmemdup [function] [call site] 00065
2 apr_pstrmemdup [function] [call site] 00066
1 apr_uri_unparse [function] [call site] 00067
2 apr_pstrcat [function] [call site] 00068
3 strlen [call site] 00069
3 apr_palloc_debug [function] [call site] 00070
3 strlen [call site] 00071
2 strchr [call site] 00072
2 apr_uri_port_of_scheme [function] [call site] 00073
2 apr_pstrcat [function] [call site] 00074
2 apr_pstrcat [function] [call site] 00075
2 apr_pstrcat [function] [call site] 00076
1 apr_uri_parse_hostinfo [function] [call site] 00077
2 apr_pstrdup [function] [call site] 00078
2 strchr [call site] 00079
2 strchr [call site] 00080
2 apr_pstrndup [function] [call site] 00081
3 memchr [call site] 00082
3 apr_palloc_debug [function] [call site] 00083
2 apr_pstrdup [function] [call site] 00084
2 strtol [call site] 00085
1 apr_pool_terminate [function] [call site] 00086
2 apr_pool_destroy_debug [function] [call site] 00087
3 apr_pool_check_lifetime [function] [call site] 00088
3 abort [call site] 00089
3 parent_lock [function] [call site] 00090
4 apr_thread_mutex_lock [function] [call site] 00091
3 pool_destroy_debug [function] [call site] 00092
4 pool_clear_debug [function] [call site] 00093
5 run_cleanups [function] [call site] 00094
5 apr_pool_check_owner [function] [call site] 00095
5 pool_destroy_debug [function] [call site] 00096
6 apr_allocator_owner_get [function] [call site] 00097
6 apr_allocator_destroy [function] [call site] 00098
5 run_cleanups [function] [call site] 00099
5 abort [call site] 00100
5 free_proc_chain [function] [call site] 00101
6 apr_proc_wait [function] [call site] 00102
7 waitpid [call site] 00103
7 __errno_location [call site] 00104
7 __errno_location [call site] 00105
6 apr_proc_kill [function] [call site] 00106
7 kill [call site] 00107
7 __errno_location [call site] 00108
6 apr_proc_kill [function] [call site] 00109
6 apr_sleep [function] [call site] 00110
7 nanosleep [call site] 00111
6 apr_proc_wait [function] [call site] 00112
6 apr_sleep [function] [call site] 00113
6 apr_proc_kill [function] [call site] 00114
6 apr_proc_wait [function] [call site] 00115
3 parent_unlock [function] [call site] 00116
4 apr_thread_mutex_unlock [function] [call site] 00117
1 af_gb_cleanup [function] [call site] 00118