Fuzz introspector: fuzzerPolygonToCellsExperimentalNoHoles
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 0 None 0 147 latLngToCell call site: 00120 /src/h3/src/h3lib/lib/h3Index.c:952
0 0 None 0 16 _iterInitPolygonCompact call site: 00010 /src/h3/src/h3lib/lib/polyfill.c:351
0 0 None 0 5 iterStepPolygonCompact call site: 00028 /src/h3/src/h3lib/lib/polyfill.c:441
0 0 None 0 5 iterStepPolygonCompact call site: 00181 /src/h3/src/h3lib/lib/polyfill.c:487
0 0 None 0 5 iterStepPolygonCompact call site: 00272 /src/h3/src/h3lib/lib/polyfill.c:525
0 0 None 0 5 iterStepPolygonCompact call site: 00284 /src/h3/src/h3lib/lib/polyfill.c:553
0 0 None 0 5 iterStepPolygonCompact call site: 00290 /src/h3/src/h3lib/lib/polyfill.c:575
0 0 None 0 5 _iterInitPolygonCompact call site: 00008 /src/h3/src/h3lib/lib/polyfill.c:343
0 0 None 0 3 _geoAzDistanceRads call site: 00098 /src/h3/src/h3lib/lib/latLng.c:239
0 0 None 0 0 pointInsideGeoLoop call site: 00117 /src/h3/src/h3lib/include/polygonAlgos.h:105
0 0 None 0 0 pointInsideGeoLoop call site: 00117 /src/h3/src/h3lib/include/polygonAlgos.h:120
0 0 None 0 0 _isBaseCellPentagon call site: 00025 /src/h3/src/h3lib/lib/baseCells.c:825

Fuzzer calltree

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