Fuzz introspector: fuzzerPolygonToCellsExperimental
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
0 12 1 :

['_h3Rotate60ccw']

0 33 _faceIjkToH3 call site: 00172 /src/h3/src/h3lib/lib/h3Index.c:920
0 0 None 0 147 latLngToCell call site: 00123 /src/h3/src/h3lib/lib/h3Index.c:952
0 0 None 0 16 _iterInitPolygonCompact call site: 00013 /src/h3/src/h3lib/lib/polyfill.c:351
0 0 None 0 5 iterStepPolygonCompact call site: 00031 /src/h3/src/h3lib/lib/polyfill.c:441
0 0 None 0 5 iterStepPolygonCompact call site: 00184 /src/h3/src/h3lib/lib/polyfill.c:487
0 0 None 0 5 iterStepPolygonCompact call site: 00275 /src/h3/src/h3lib/lib/polyfill.c:525
0 0 None 0 5 iterStepPolygonCompact call site: 00287 /src/h3/src/h3lib/lib/polyfill.c:553
0 0 None 0 5 iterStepPolygonCompact call site: 00293 /src/h3/src/h3lib/lib/polyfill.c:575
0 0 None 0 5 _iterInitPolygonCompact call site: 00011 /src/h3/src/h3lib/lib/polyfill.c:343
0 0 None 0 3 _geoAzDistanceRads call site: 00101 /src/h3/src/h3lib/lib/latLng.c:239
0 0 None 0 0 pointInsideGeoLoop call site: 00120 /src/h3/src/h3lib/include/polygonAlgos.h:105
0 0 None 0 0 pointInsideGeoLoop call site: 00120 /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 maxPolygonToCellsSizeExperimental [function] [call site] 00005
3 _iterInitPolygonCompact [function] [call site] 00006
4 baseCellNumToCell [function] [call site] 00007
5 setH3Index [function] [call site] 00008
4 iterErrorPolygonCompact [function] [call site] 00009
5 iterDestroyPolygonCompact [function] [call site] 00010
4 validatePolygonFlags [function] [call site] 00011
4 iterErrorPolygonCompact [function] [call site] 00012
4 calloc [call site] 00013
4 iterErrorPolygonCompact [function] [call site] 00014
4 bboxesFromGeoPolygon [function] [call site] 00015
5 bboxFromGeoLoop [function] [call site] 00016
5 bboxFromGeoLoop [function] [call site] 00017
3 bboxHeightRads [function] [call site] 00018
3 bboxWidthRads [function] [call site] 00019
4 bboxIsTransmeridian [function] [call site] 00020
3 cos [call site] 00021
3 getAverageCellArea [function] [call site] 00022
4 getHexagonAreaAvgKm2 [function] [call site] 00023
3 iterStepPolygonCompact [function] [call site] 00024
4 nextCell [function] [call site] 00025
5 baseCellNumToCell [function] [call site] 00026
5 isPentagon [function] [call site] 00027
6 _isBaseCellPentagon [function] [call site] 00028
6 _h3LeadingNonZeroDigit [function] [call site] 00029
4 iterDestroyPolygonCompact [function] [call site] 00030
4 cellToLatLng [function] [call site] 00031
5 _h3ToFaceIjk [function] [call site] 00032
6 __assert_fail [call site] 00033
6 _isBaseCellPentagon [function] [call site] 00034
6 _h3LeadingNonZeroDigit [function] [call site] 00035
6 _h3Rotate60cw [function] [call site] 00036
7 _rotate60cw [function] [call site] 00037
6 _h3ToFaceIjkWithInitializedFijk [function] [call site] 00038
7 _isBaseCellPentagon [function] [call site] 00039
7 isResolutionClassIII [function] [call site] 00040
7 _neighbor [function] [call site] 00055
8 _ijkNormalize [function] [call site] 00057
6 isResolutionClassIII [function] [call site] 00058
6 _downAp7r [function] [call site] 00059
6 _isBaseCellPentagon [function] [call site] 00060
6 _h3LeadingNonZeroDigit [function] [call site] 00061
6 _adjustOverageClassII [function] [call site] 00062
6 _isBaseCellPentagon [function] [call site] 00083
6 _adjustOverageClassII [function] [call site] 00084
6 _upAp7r [function] [call site] 00085
7 lround [call site] 00086
7 lround [call site] 00087
7 _ijkNormalize [function] [call site] 00088
5 _faceIjkToGeo [function] [call site] 00089
6 _ijkToHex2d [function] [call site] 00090
6 _hex2dToGeo [function] [call site] 00091
7 _v2dMag [function] [call site] 00092
8 sqrt [call site] 00093
7 atan2 [call site] 00094
7 isResolutionClassIII [function] [call site] 00095
7 atan [call site] 00096
7 isResolutionClassIII [function] [call site] 00097
7 _posAngleRads [function] [call site] 00098
7 _posAngleRads [function] [call site] 00099
7 _geoAzDistanceRads [function] [call site] 00100
8 _posAngleRads [function] [call site] 00101
8 constrainLng [function] [call site] 00102
8 sin [call site] 00103
8 cos [call site] 00104
8 cos [call site] 00105
8 sin [call site] 00106
8 asin [call site] 00107
8 cos [call site] 00108
8 sin [call site] 00109
8 cos [call site] 00110
8 sin [call site] 00111
8 cos [call site] 00112
8 atan2 [call site] 00113
8 constrainLng [function] [call site] 00114
4 iterErrorPolygonCompact [function] [call site] 00115
4 pointInsidePolygon [function] [call site] 00116
5 pointInsideGeoLoop [function] [call site] 00117
6 bboxContains [function] [call site] 00118
7 bboxIsTransmeridian [function] [call site] 00119
6 bboxIsTransmeridian [function] [call site] 00120
5 pointInsideGeoLoop [function] [call site] 00121
4 bboxContains [function] [call site] 00122
4 latLngToCell [function] [call site] 00123
5 _geoToFaceIjk [function] [call site] 00124
6 _geoToHex2d [function] [call site] 00125
7 _geoToClosestFace [function] [call site] 00126
8 _geoToVec3d [function] [call site] 00127
9 cos [call site] 00128
9 sin [call site] 00129
9 cos [call site] 00130
9 sin [call site] 00131
8 _pointSquareDist [function] [call site] 00132
7 acos [call site] 00135
7 _geoAzimuthRads [function] [call site] 00136
8 cos [call site] 00137
8 sin [call site] 00138
8 cos [call site] 00139
8 sin [call site] 00140
8 sin [call site] 00141
8 cos [call site] 00142
8 atan2 [call site] 00143
7 _posAngleRads [function] [call site] 00144
7 _posAngleRads [function] [call site] 00145
7 isResolutionClassIII [function] [call site] 00146
7 _posAngleRads [function] [call site] 00147
7 tan [call site] 00148
7 cos [call site] 00149
7 sin [call site] 00150
6 _hex2dToCoordIJK [function] [call site] 00151
7 _ijkNormalize [function] [call site] 00152
5 _faceIjkToH3 [function] [call site] 00153
6 _faceIjkToBaseCell [function] [call site] 00154
6 isResolutionClassIII [function] [call site] 00155
6 _upAp7 [function] [call site] 00156
7 lround [call site] 00157
7 lround [call site] 00158
7 _ijkNormalize [function] [call site] 00159
6 _downAp7r [function] [call site] 00162
6 _ijkNormalize [function] [call site] 00164
6 _unitIjkToDigit [function] [call site] 00165
7 _ijkNormalize [function] [call site] 00166
7 _ijkMatches [function] [call site] 00167
6 _faceIjkToBaseCell [function] [call site] 00168
6 _faceIjkToBaseCellCCWrot60 [function] [call site] 00169
6 _isBaseCellPentagon [function] [call site] 00170
6 _h3LeadingNonZeroDigit [function] [call site] 00171
6 _baseCellIsCwOffset [function] [call site] 00172
6 _h3Rotate60cw [function] [call site] 00173
6 _h3Rotate60ccw [function] [call site] 00174
7 _rotate60ccw [function] [call site] 00175
6 _h3RotatePent60ccw [function] [call site] 00176
7 _rotate60ccw [function] [call site] 00177
7 _h3LeadingNonZeroDigit [function] [call site] 00178
7 _h3Rotate60ccw [function] [call site] 00179
6 _h3Rotate60ccw [function] [call site] 00180
5 __assert_fail [call site] 00181
4 __assert_fail [call site] 00182
4 iterErrorPolygonCompact [function] [call site] 00183
4 cellToBoundary [function] [call site] 00184
5 _h3ToFaceIjk [function] [call site] 00185
5 isPentagon [function] [call site] 00186
5 _faceIjkPentToCellBoundary [function] [call site] 00187
6 _faceIjkPentToVerts [function] [call site] 00188
7 isResolutionClassIII [function] [call site] 00189
7 isResolutionClassIII [function] [call site] 00204
7 _downAp7r [function] [call site] 00205
7 _ijkNormalize [function] [call site] 00207
6 _adjustPentVertOverage [function] [call site] 00208
7 _adjustOverageClassII [function] [call site] 00209
6 isResolutionClassIII [function] [call site] 00210
6 _ijkToHex2d [function] [call site] 00211
6 _ijkRotate60ccw [function] [call site] 00212
6 _ijkScale [function] [call site] 00213
6 _ijkNormalize [function] [call site] 00215
6 _ijkToHex2d [function] [call site] 00216
6 __assert_fail [call site] 00217
6 _v2dIntersect [function] [call site] 00218
6 _hex2dToGeo [function] [call site] 00219
6 _ijkToHex2d [function] [call site] 00220
6 _hex2dToGeo [function] [call site] 00221
5 _faceIjkToCellBoundary [function] [call site] 00222
6 _faceIjkToVerts [function] [call site] 00223
7 isResolutionClassIII [function] [call site] 00224
7 _downAp3r [function] [call site] 00226
7 isResolutionClassIII [function] [call site] 00227
7 _downAp7r [function] [call site] 00228
7 _ijkNormalize [function] [call site] 00230
6 _adjustOverageClassII [function] [call site] 00231
6 isResolutionClassIII [function] [call site] 00232
6 _ijkToHex2d [function] [call site] 00233
6 _ijkToHex2d [function] [call site] 00234
6 __assert_fail [call site] 00235
6 _v2dIntersect [function] [call site] 00236
6 _v2dAlmostEquals [function] [call site] 00237
6 _v2dAlmostEquals [function] [call site] 00238
6 _hex2dToGeo [function] [call site] 00239
6 _ijkToHex2d [function] [call site] 00240
6 _hex2dToGeo [function] [call site] 00241
4 iterErrorPolygonCompact [function] [call site] 00242
4 cellToBBox [function] [call site] 00243
5 __assert_fail [call site] 00244
5 cellToLatLng [function] [call site] 00245
5 cos [call site] 00246
5 scaleBBox [function] [call site] 00247
6 bboxWidthRads [function] [call site] 00248
6 bboxHeightRads [function] [call site] 00249
4 __assert_fail [call site] 00250
4 iterErrorPolygonCompact [function] [call site] 00251
4 cellBoundaryInsidePolygon [function] [call site] 00252
5 pointInsidePolygon [function] [call site] 00253
5 cellBoundaryCrossesGeoLoop [function] [call site] 00254
6 bboxOverlapsBBox [function] [call site] 00255
7 bboxNormalization [function] [call site] 00256
8 bboxIsTransmeridian [function] [call site] 00257
8 bboxIsTransmeridian [function] [call site] 00258
7 normalizeLng [function] [call site] 00259
7 normalizeLng [function] [call site] 00260
7 normalizeLng [function] [call site] 00261
7 normalizeLng [function] [call site] 00262
6 bboxNormalization [function] [call site] 00263
6 normalizeLng [function] [call site] 00264
6 normalizeLng [function] [call site] 00265
6 normalizeLng [function] [call site] 00266
6 normalizeLng [function] [call site] 00267
6 normalizeLng [function] [call site] 00268
6 lineCrossesLine [function] [call site] 00269
5 pointInsideGeoLoop [function] [call site] 00270
5 cellBoundaryCrossesGeoLoop [function] [call site] 00271
4 cellBoundaryCrossesPolygon [function] [call site] 00272
5 cellBoundaryCrossesGeoLoop [function] [call site] 00273
5 cellBoundaryCrossesGeoLoop [function] [call site] 00274
4 cellToBBox [function] [call site] 00275
4 iterErrorPolygonCompact [function] [call site] 00276
4 bboxOverlapsBBox [function] [call site] 00277
4 bboxToCellBoundary [function] [call site] 00278
4 bboxContainsBBox [function] [call site] 00279
5 bboxNormalization [function] [call site] 00280
5 normalizeLng [function] [call site] 00281
5 normalizeLng [function] [call site] 00282
5 normalizeLng [function] [call site] 00283
5 normalizeLng [function] [call site] 00284
4 pointInsidePolygon [function] [call site] 00285
4 cellBoundaryCrossesPolygon [function] [call site] 00286
4 cellToBBox [function] [call site] 00287
4 iterErrorPolygonCompact [function] [call site] 00288
4 bboxOverlapsBBox [function] [call site] 00289
4 bboxContainsBBox [function] [call site] 00290
4 bboxToCellBoundary [function] [call site] 00291
4 cellBoundaryInsidePolygon [function] [call site] 00292
4 cellToCenterChild [function] [call site] 00293
5 _hasChildAtRes [function] [call site] 00294
5 _zeroIndexDigits [function] [call site] 00295
4 iterErrorPolygonCompact [function] [call site] 00296
4 iterDestroyPolygonCompact [function] [call site] 00298
3 cellToChildrenSize [function] [call site] 00299
3 iterStepPolygonCompact [function] [call site] 00304
2 calloc [call site] 00305
2 polygonToCellsExperimental [function] [call site] 00306
3 iterInitPolygon [function] [call site] 00307
4 iterInitPolygonCompact [function] [call site] 00308
5 _iterInitPolygonCompact [function] [call site] 00309
5 iterStepPolygonCompact [function] [call site] 00310
4 iterInitParent [function] [call site] 00311
5 _iterInitParent [function] [call site] 00312
6 _null_iter [function] [call site] 00313
6 _zeroIndexDigits [function] [call site] 00314
6 isPentagon [function] [call site] 00315
3 iterDestroyPolygon [function] [call site] 00316
4 iterDestroyPolygonCompact [function] [call site] 00317
4 _iterInitParent [function] [call site] 00318
3 iterStepPolygon [function] [call site] 00319
4 iterStepChild [function] [call site] 00320
5 _incrementResDigit [function] [call site] 00321
5 _null_iter [function] [call site] 00322
5 _getResDigit [function] [call site] 00323
5 _incrementResDigit [function] [call site] 00324
5 _getResDigit [function] [call site] 00325
5 _incrementResDigit [function] [call site] 00326
4 iterStepPolygonCompact [function] [call site] 00327
4 _iterInitParent [function] [call site] 00328