Fuzz introspector: fuzzerPolygonToCells
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
107 107 1 :

['_faceIjkToCellBoundary']

107 107 cellToBoundary call site: 00093 /src/h3/src/h3lib/lib/h3Index.c:910
7 7 1 :

['getNumCells']

7 7 maxGridDiskSize call site: 00251 /src/h3/src/h3lib/lib/algos.c:172
0 0 None 4 1167 polygonToCells call site: 00159 /src/h3/src/h3lib/lib/algos.c:915
0 0 None 2 924 polygonToCells call site: 00164 /src/h3/src/h3lib/lib/algos.c:930
0 0 None 0 922 polygonToCells call site: 00165 /src/h3/src/h3lib/lib/algos.c:935
0 0 None 0 175 gridDiskDistancesUnsafe call site: 00227 /src/h3/src/h3lib/lib/algos.c:580
0 0 None 0 166 gridDiskDistancesUnsafe call site: 00249 /src/h3/src/h3lib/lib/algos.c:625
0 0 None 0 96 gridDiskDistances call site: 00251 /src/h3/src/h3lib/lib/algos.c:236
0 0 None 0 96 gridDiskDistances call site: 00254 /src/h3/src/h3lib/lib/algos.c:238
0 0 None 0 3 _geoAzDistanceRads call site: 00081 /src/h3/src/h3lib/lib/latLng.c:211
0 0 None 0 0 pointInsideGeoLoop call site: 00264 /src/h3/src/h3lib/include/polygonAlgos.h:105
0 0 None 0 0 pointInsideGeoLoop call site: 00264 /src/h3/src/h3lib/include/polygonAlgos.h:120

Fuzzer calltree

0 LLVMFuzzerTestOneInput [function] [call site] 00000
1 calloc [call site] 00001
1 populateGeoLoop [function] [call site] 00002
1 populateGeoLoop [function] [call site] 00003
1 run [function] [call site] 00004
2 maxPolygonToCellsSize [function] [call site] 00005
3 bboxFromGeoLoop [function] [call site] 00006
3 bboxHexEstimate [function] [call site] 00007
4 getPentagons [function] [call site] 00008
5 _isBaseCellPentagon [function] [call site] 00009
5 setH3Index [function] [call site] 00010
4 _hexRadiusKm [function] [call site] 00011
5 cellToLatLng [function] [call site] 00012
6 _h3ToFaceIjk [function] [call site] 00013
7 __assert_fail [call site] 00014
7 _isBaseCellPentagon [function] [call site] 00015
7 _h3LeadingNonZeroDigit [function] [call site] 00016
7 _h3Rotate60cw [function] [call site] 00017
8 _rotate60cw [function] [call site] 00018
7 _h3ToFaceIjkWithInitializedFijk [function] [call site] 00019
8 _isBaseCellPentagon [function] [call site] 00020
8 isResolutionClassIII [function] [call site] 00021
8 _neighbor [function] [call site] 00036
9 _ijkNormalize [function] [call site] 00038
7 isResolutionClassIII [function] [call site] 00039
7 _downAp7r [function] [call site] 00040
7 _isBaseCellPentagon [function] [call site] 00041
7 _h3LeadingNonZeroDigit [function] [call site] 00042
7 _adjustOverageClassII [function] [call site] 00043
7 _isBaseCellPentagon [function] [call site] 00064
7 _adjustOverageClassII [function] [call site] 00065
7 _upAp7r [function] [call site] 00066
8 lroundl [call site] 00067
8 lroundl [call site] 00068
8 _ijkNormalize [function] [call site] 00069
6 _faceIjkToGeo [function] [call site] 00070
7 _hex2dToGeo [function] [call site] 00071
8 _v2dMag [function] [call site] 00072
9 sqrt [call site] 00073
8 atan2 [call site] 00074
8 isResolutionClassIII [function] [call site] 00075
8 atan [call site] 00076
8 isResolutionClassIII [function] [call site] 00077
8 _posAngleRads [function] [call site] 00078
8 _posAngleRads [function] [call site] 00079
8 _geoAzDistanceRads [function] [call site] 00080
9 _posAngleRads [function] [call site] 00081
9 constrainLng [function] [call site] 00082
9 sin [call site] 00083
9 cos [call site] 00084
9 asin [call site] 00085
9 sin [call site] 00086
9 cos [call site] 00087
9 cos [call site] 00088
9 atan2 [call site] 00089
9 constrainLng [function] [call site] 00090
5 cellToBoundary [function] [call site] 00091
6 _h3ToFaceIjk [function] [call site] 00092
6 isPentagon [function] [call site] 00093
7 _isBaseCellPentagon [function] [call site] 00094
7 _h3LeadingNonZeroDigit [function] [call site] 00095
6 _faceIjkPentToCellBoundary [function] [call site] 00096
7 _faceIjkPentToVerts [function] [call site] 00097
8 isResolutionClassIII [function] [call site] 00098
8 isResolutionClassIII [function] [call site] 00113
8 _downAp7r [function] [call site] 00114
8 _ijkNormalize [function] [call site] 00116
7 _adjustPentVertOverage [function] [call site] 00117
8 _adjustOverageClassII [function] [call site] 00118
7 isResolutionClassIII [function] [call site] 00119
7 _ijkToHex2d [function] [call site] 00120
7 _ijkRotate60ccw [function] [call site] 00121
7 _ijkScale [function] [call site] 00122
7 _ijkNormalize [function] [call site] 00124
7 _ijkToHex2d [function] [call site] 00125
7 __assert_fail [call site] 00126
7 _v2dIntersect [function] [call site] 00127
7 _hex2dToGeo [function] [call site] 00128
7 _ijkToHex2d [function] [call site] 00129
7 _hex2dToGeo [function] [call site] 00130
6 _faceIjkToCellBoundary [function] [call site] 00131
7 _faceIjkToVerts [function] [call site] 00132
8 isResolutionClassIII [function] [call site] 00133
8 _downAp3r [function] [call site] 00135
8 isResolutionClassIII [function] [call site] 00136
8 _downAp7r [function] [call site] 00137
8 _ijkNormalize [function] [call site] 00139
7 _adjustOverageClassII [function] [call site] 00140
7 isResolutionClassIII [function] [call site] 00141
7 _ijkToHex2d [function] [call site] 00142
7 _ijkToHex2d [function] [call site] 00143
7 __assert_fail [call site] 00144
7 _v2dIntersect [function] [call site] 00145
7 _v2dAlmostEquals [function] [call site] 00146
7 _v2dAlmostEquals [function] [call site] 00147
7 _hex2dToGeo [function] [call site] 00148
7 _ijkToHex2d [function] [call site] 00149
7 _hex2dToGeo [function] [call site] 00150
5 greatCircleDistanceKm [function] [call site] 00151
6 greatCircleDistanceRads [function] [call site] 00152
7 sin [call site] 00153
7 sin [call site] 00154
7 cos [call site] 00155
7 sqrt [call site] 00156
4 greatCircleDistanceKm [function] [call site] 00157
2 calloc [call site] 00158
2 polygonToCells [function] [call site] 00159
3 bboxesFromGeoPolygon [function] [call site] 00160
4 bboxFromGeoLoop [function] [call site] 00161
4 bboxFromGeoLoop [function] [call site] 00162
3 maxPolygonToCellsSize [function] [call site] 00163
3 calloc [call site] 00164
3 calloc [call site] 00165
3 _getEdgeHexagons [function] [call site] 00166
4 lineHexEstimate [function] [call site] 00167
5 getPentagons [function] [call site] 00168
5 _hexRadiusKm [function] [call site] 00169
5 greatCircleDistanceKm [function] [call site] 00170
4 latLngToCell [function] [call site] 00171
5 _geoToFaceIjk [function] [call site] 00172
6 _geoToHex2d [function] [call site] 00173
7 _geoToClosestFace [function] [call site] 00174
8 _geoToVec3d [function] [call site] 00175
9 cos [call site] 00176
9 sin [call site] 00177
9 cos [call site] 00178
9 sin [call site] 00179
8 _pointSquareDist [function] [call site] 00180
7 acos [call site] 00183
7 _geoAzimuthRads [function] [call site] 00184
8 cos [call site] 00185
8 cos [call site] 00186
8 sin [call site] 00187
7 _posAngleRads [function] [call site] 00188
7 isResolutionClassIII [function] [call site] 00189
7 _posAngleRads [function] [call site] 00190
7 tan [call site] 00191
7 cos [call site] 00192
7 sin [call site] 00193
6 _hex2dToCoordIJK [function] [call site] 00194
7 _ijkNormalize [function] [call site] 00195
5 _faceIjkToH3 [function] [call site] 00196
6 _faceIjkToBaseCell [function] [call site] 00197
6 isResolutionClassIII [function] [call site] 00198
6 _upAp7 [function] [call site] 00199
7 lroundl [call site] 00200
7 _ijkNormalize [function] [call site] 00201
6 _downAp7r [function] [call site] 00204
6 _ijkNormalize [function] [call site] 00206
6 _unitIjkToDigit [function] [call site] 00207
7 _ijkNormalize [function] [call site] 00208
7 _ijkMatches [function] [call site] 00209
6 _faceIjkToBaseCell [function] [call site] 00210
6 _faceIjkToBaseCellCCWrot60 [function] [call site] 00211
6 _isBaseCellPentagon [function] [call site] 00212
6 _h3LeadingNonZeroDigit [function] [call site] 00213
6 _baseCellIsCwOffset [function] [call site] 00214
6 _h3Rotate60cw [function] [call site] 00215
6 _h3Rotate60ccw [function] [call site] 00216
7 _rotate60ccw [function] [call site] 00217
6 _h3RotatePent60ccw [function] [call site] 00218
7 _rotate60ccw [function] [call site] 00219
7 _h3LeadingNonZeroDigit [function] [call site] 00220
7 _h3Rotate60ccw [function] [call site] 00221
6 _h3Rotate60ccw [function] [call site] 00222
5 __assert_fail [call site] 00223
3 _getEdgeHexagons [function] [call site] 00224
3 gridDisk [function] [call site] 00225
4 gridDiskDistances [function] [call site] 00226
5 gridDiskDistancesUnsafe [function] [call site] 00227
6 isPentagon [function] [call site] 00228
6 h3NeighborRotations [function] [call site] 00229
7 _rotate60ccw [function] [call site] 00230
7 __assert_fail [call site] 00231
7 _h3LeadingNonZeroDigit [function] [call site] 00232
7 _h3Rotate60ccw [function] [call site] 00233
7 isResolutionClassIII [function] [call site] 00234
7 _isBaseCellPentagon [function] [call site] 00235
7 _h3LeadingNonZeroDigit [function] [call site] 00236
7 _baseCellIsCwOffset [function] [call site] 00237
7 __assert_fail [call site] 00238
7 _h3Rotate60cw [function] [call site] 00239
7 _h3Rotate60ccw [function] [call site] 00240
7 _h3Rotate60ccw [function] [call site] 00241
7 _h3Rotate60cw [function] [call site] 00242
7 _h3RotatePent60ccw [function] [call site] 00243
7 _isBaseCellPolarPentagon [function] [call site] 00244
7 _h3LeadingNonZeroDigit [function] [call site] 00245
7 _h3LeadingNonZeroDigit [function] [call site] 00246
7 _h3Rotate60ccw [function] [call site] 00247
6 isPentagon [function] [call site] 00248
6 h3NeighborRotations [function] [call site] 00249
6 isPentagon [function] [call site] 00250
5 maxGridDiskSize [function] [call site] 00251
5 calloc [call site] 00254
5 _gridDiskDistancesInternal [function] [call site] 00255
6 h3NeighborRotations [function] [call site] 00256
6 _gridDiskDistancesInternal [function] [call site] 00257
5 _gridDiskDistancesInternal [function] [call site] 00258
3 cellToLatLng [function] [call site] 00259
3 pointInsidePolygon [function] [call site] 00260
4 pointInsideGeoLoop [function] [call site] 00261
5 bboxContains [function] [call site] 00262
6 bboxIsTransmeridian [function] [call site] 00263
5 bboxIsTransmeridian [function] [call site] 00264
4 pointInsideGeoLoop [function] [call site] 00265