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: 00099 /src/h3/src/h3lib/lib/h3Index.c:1083
7 7 1 :

['getNumCells']

7 7 maxGridDiskSize call site: 00265 /src/h3/src/h3lib/lib/algos.c:172
0 0 None 4 1170 polygonToCells call site: 00167 /src/h3/src/h3lib/lib/algos.c:1017
0 0 None 2 924 polygonToCells call site: 00172 /src/h3/src/h3lib/lib/algos.c:1032
0 0 None 0 922 polygonToCells call site: 00173 /src/h3/src/h3lib/lib/algos.c:1037
0 0 None 0 175 gridDiskDistancesUnsafe call site: 00241 /src/h3/src/h3lib/lib/algos.c:677
0 0 None 0 166 gridDiskDistancesUnsafe call site: 00263 /src/h3/src/h3lib/lib/algos.c:722
0 0 None 0 85 gridDiskDistances call site: 00265 /src/h3/src/h3lib/lib/algos.c:236
0 0 None 0 85 gridDiskDistances call site: 00268 /src/h3/src/h3lib/lib/algos.c:238
0 0 None 0 3 _geoAzDistanceRads call site: 00083 /src/h3/src/h3lib/lib/latLng.c:239
0 0 None 0 0 pointInsideGeoLoop call site: 00278 /src/h3/src/h3lib/include/polygonAlgos.h:105
0 0 None 0 0 pointInsideGeoLoop call site: 00278 /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 validatePolygonFlags [function] [call site] 00006
3 bboxFromGeoLoop [function] [call site] 00007
3 bboxHexEstimate [function] [call site] 00008
4 getPentagons [function] [call site] 00009
5 _isBaseCellPentagon [function] [call site] 00010
5 setH3Index [function] [call site] 00011
4 _hexRadiusKm [function] [call site] 00012
5 cellToLatLng [function] [call site] 00013
6 _h3ToFaceIjk [function] [call site] 00014
7 __assert_fail [call site] 00015
7 _isBaseCellPentagon [function] [call site] 00016
7 _h3LeadingNonZeroDigit [function] [call site] 00017
7 _h3Rotate60cw [function] [call site] 00018
8 _rotate60cw [function] [call site] 00019
7 _h3ToFaceIjkWithInitializedFijk [function] [call site] 00020
8 _isBaseCellPentagon [function] [call site] 00021
8 isResolutionClassIII [function] [call site] 00022
8 _neighbor [function] [call site] 00037
9 _ijkNormalize [function] [call site] 00039
7 isResolutionClassIII [function] [call site] 00040
7 _downAp7r [function] [call site] 00041
7 _isBaseCellPentagon [function] [call site] 00042
7 _h3LeadingNonZeroDigit [function] [call site] 00043
7 _adjustOverageClassII [function] [call site] 00044
7 _isBaseCellPentagon [function] [call site] 00065
7 _adjustOverageClassII [function] [call site] 00066
7 _upAp7r [function] [call site] 00067
8 lround [call site] 00068
8 lround [call site] 00069
8 _ijkNormalize [function] [call site] 00070
6 _faceIjkToGeo [function] [call site] 00071
7 _ijkToHex2d [function] [call site] 00072
7 _hex2dToGeo [function] [call site] 00073
8 _v2dMag [function] [call site] 00074
9 sqrt [call site] 00075
8 atan2 [call site] 00076
8 isResolutionClassIII [function] [call site] 00077
8 atan [call site] 00078
8 isResolutionClassIII [function] [call site] 00079
8 _posAngleRads [function] [call site] 00080
8 _posAngleRads [function] [call site] 00081
8 _geoAzDistanceRads [function] [call site] 00082
9 _posAngleRads [function] [call site] 00083
9 constrainLng [function] [call site] 00084
9 sin [call site] 00085
9 cos [call site] 00086
9 cos [call site] 00087
9 sin [call site] 00088
9 asin [call site] 00089
9 cos [call site] 00090
9 sin [call site] 00091
9 cos [call site] 00092
9 sin [call site] 00093
9 cos [call site] 00094
9 atan2 [call site] 00095
9 constrainLng [function] [call site] 00096
5 cellToBoundary [function] [call site] 00097
6 _h3ToFaceIjk [function] [call site] 00098
6 isPentagon [function] [call site] 00099
7 _isBaseCellPentagon [function] [call site] 00100
7 _h3LeadingNonZeroDigit [function] [call site] 00101
6 _faceIjkPentToCellBoundary [function] [call site] 00102
7 _faceIjkPentToVerts [function] [call site] 00103
8 isResolutionClassIII [function] [call site] 00104
8 isResolutionClassIII [function] [call site] 00119
8 _downAp7r [function] [call site] 00120
8 _ijkNormalize [function] [call site] 00122
7 _adjustPentVertOverage [function] [call site] 00123
8 _adjustOverageClassII [function] [call site] 00124
7 isResolutionClassIII [function] [call site] 00125
7 _ijkToHex2d [function] [call site] 00126
7 _ijkRotate60ccw [function] [call site] 00127
7 _ijkScale [function] [call site] 00128
7 _ijkNormalize [function] [call site] 00130
7 _ijkToHex2d [function] [call site] 00131
7 __assert_fail [call site] 00132
7 _v2dIntersect [function] [call site] 00133
7 _hex2dToGeo [function] [call site] 00134
7 _ijkToHex2d [function] [call site] 00135
7 _hex2dToGeo [function] [call site] 00136
6 _faceIjkToCellBoundary [function] [call site] 00137
7 _faceIjkToVerts [function] [call site] 00138
8 isResolutionClassIII [function] [call site] 00139
8 _downAp3r [function] [call site] 00141
8 isResolutionClassIII [function] [call site] 00142
8 _downAp7r [function] [call site] 00143
8 _ijkNormalize [function] [call site] 00145
7 _adjustOverageClassII [function] [call site] 00146
7 isResolutionClassIII [function] [call site] 00147
7 _ijkToHex2d [function] [call site] 00148
7 _ijkToHex2d [function] [call site] 00149
7 __assert_fail [call site] 00150
7 _v2dIntersect [function] [call site] 00151
7 _v2dAlmostEquals [function] [call site] 00152
7 _v2dAlmostEquals [function] [call site] 00153
7 _hex2dToGeo [function] [call site] 00154
7 _ijkToHex2d [function] [call site] 00155
7 _hex2dToGeo [function] [call site] 00156
5 greatCircleDistanceKm [function] [call site] 00157
6 greatCircleDistanceRads [function] [call site] 00158
7 sin [call site] 00159
7 sin [call site] 00160
7 cos [call site] 00161
7 sqrt [call site] 00162
7 atan2 [call site] 00163
4 greatCircleDistanceKm [function] [call site] 00164
2 calloc [call site] 00165
2 polygonToCells [function] [call site] 00166
3 validatePolygonFlags [function] [call site] 00167
3 bboxesFromGeoPolygon [function] [call site] 00168
4 bboxFromGeoLoop [function] [call site] 00169
4 bboxFromGeoLoop [function] [call site] 00170
3 maxPolygonToCellsSize [function] [call site] 00171
3 calloc [call site] 00172
3 calloc [call site] 00173
3 _getEdgeHexagons [function] [call site] 00174
4 lineHexEstimate [function] [call site] 00175
5 getPentagons [function] [call site] 00176
5 _hexRadiusKm [function] [call site] 00177
5 greatCircleDistanceKm [function] [call site] 00178
4 latLngToCell [function] [call site] 00179
5 _geoToFaceIjk [function] [call site] 00180
6 _geoToHex2d [function] [call site] 00181
7 _geoToClosestFace [function] [call site] 00182
8 _geoToVec3d [function] [call site] 00183
9 cos [call site] 00184
9 sin [call site] 00185
9 cos [call site] 00186
9 sin [call site] 00187
8 _pointSquareDist [function] [call site] 00188
7 acos [call site] 00191
7 _geoAzimuthRads [function] [call site] 00192
8 cos [call site] 00193
8 sin [call site] 00194
8 cos [call site] 00195
8 sin [call site] 00196
8 sin [call site] 00197
8 cos [call site] 00198
8 atan2 [call site] 00199
7 _posAngleRads [function] [call site] 00200
7 _posAngleRads [function] [call site] 00201
7 isResolutionClassIII [function] [call site] 00202
7 _posAngleRads [function] [call site] 00203
7 tan [call site] 00204
7 cos [call site] 00205
7 sin [call site] 00206
6 _hex2dToCoordIJK [function] [call site] 00207
7 _ijkNormalize [function] [call site] 00208
5 _faceIjkToH3 [function] [call site] 00209
6 _faceIjkToBaseCell [function] [call site] 00210
6 isResolutionClassIII [function] [call site] 00211
6 _upAp7 [function] [call site] 00212
7 lround [call site] 00213
7 lround [call site] 00214
7 _ijkNormalize [function] [call site] 00215
6 _downAp7r [function] [call site] 00218
6 _ijkNormalize [function] [call site] 00220
6 _unitIjkToDigit [function] [call site] 00221
7 _ijkNormalize [function] [call site] 00222
7 _ijkMatches [function] [call site] 00223
6 _faceIjkToBaseCell [function] [call site] 00224
6 _faceIjkToBaseCellCCWrot60 [function] [call site] 00225
6 _isBaseCellPentagon [function] [call site] 00226
6 _h3LeadingNonZeroDigit [function] [call site] 00227
6 _baseCellIsCwOffset [function] [call site] 00228
6 _h3Rotate60cw [function] [call site] 00229
6 _h3Rotate60ccw [function] [call site] 00230
7 _rotate60ccw [function] [call site] 00231
6 _h3RotatePent60ccw [function] [call site] 00232
7 _rotate60ccw [function] [call site] 00233
7 _h3LeadingNonZeroDigit [function] [call site] 00234
7 _h3Rotate60ccw [function] [call site] 00235
6 _h3Rotate60ccw [function] [call site] 00236
5 __assert_fail [call site] 00237
3 _getEdgeHexagons [function] [call site] 00238
3 gridDisk [function] [call site] 00239
4 gridDiskDistances [function] [call site] 00240
5 gridDiskDistancesUnsafe [function] [call site] 00241
6 isPentagon [function] [call site] 00242
6 h3NeighborRotations [function] [call site] 00243
7 _rotate60ccw [function] [call site] 00244
7 __assert_fail [call site] 00245
7 _h3LeadingNonZeroDigit [function] [call site] 00246
7 _h3Rotate60ccw [function] [call site] 00247
7 isResolutionClassIII [function] [call site] 00248
7 _isBaseCellPentagon [function] [call site] 00249
7 _h3LeadingNonZeroDigit [function] [call site] 00250
7 _baseCellIsCwOffset [function] [call site] 00251
7 __assert_fail [call site] 00252
7 _h3Rotate60cw [function] [call site] 00253
7 _h3Rotate60ccw [function] [call site] 00254
7 _h3Rotate60ccw [function] [call site] 00255
7 _h3Rotate60cw [function] [call site] 00256
7 _h3RotatePent60ccw [function] [call site] 00257
7 _isBaseCellPolarPentagon [function] [call site] 00258
7 _h3LeadingNonZeroDigit [function] [call site] 00259
7 _h3LeadingNonZeroDigit [function] [call site] 00260
7 _h3Rotate60ccw [function] [call site] 00261
6 isPentagon [function] [call site] 00262
6 h3NeighborRotations [function] [call site] 00263
6 isPentagon [function] [call site] 00264
5 maxGridDiskSize [function] [call site] 00265
5 calloc [call site] 00268
5 _gridDiskDistancesInternal [function] [call site] 00269
6 h3NeighborRotations [function] [call site] 00270
6 _gridDiskDistancesInternal [function] [call site] 00271
5 _gridDiskDistancesInternal [function] [call site] 00272
3 cellToLatLng [function] [call site] 00273
3 pointInsidePolygon [function] [call site] 00274
4 pointInsideGeoLoop [function] [call site] 00275
5 bboxContains [function] [call site] 00276
6 bboxIsTransmeridian [function] [call site] 00277
5 bboxIsTransmeridian [function] [call site] 00278
4 pointInsideGeoLoop [function] [call site] 00279