xref: /aosp_15_r20/tools/security/fuzzing/s2_geometry_fuzzer/S2CellIdFuzzer.java (revision d9ecfb0f4d734c9ce41cde8ac4d585b094fd4222)
1*d9ecfb0fSAndroid Build Coastguard Worker // Copyright 2022, The Android Open Source Project
2*d9ecfb0fSAndroid Build Coastguard Worker //
3*d9ecfb0fSAndroid Build Coastguard Worker // Licensed under the Apache License, Version 2.0 (the "License");
4*d9ecfb0fSAndroid Build Coastguard Worker // you may not use this file except in compliance with the License.
5*d9ecfb0fSAndroid Build Coastguard Worker // You may obtain a copy of the License at
6*d9ecfb0fSAndroid Build Coastguard Worker //
7*d9ecfb0fSAndroid Build Coastguard Worker //     http://www.apache.org/licenses/LICENSE-2.0
8*d9ecfb0fSAndroid Build Coastguard Worker //
9*d9ecfb0fSAndroid Build Coastguard Worker // Unless required by applicable law or agreed to in writing, software
10*d9ecfb0fSAndroid Build Coastguard Worker // distributed under the License is distributed on an "AS IS" BASIS,
11*d9ecfb0fSAndroid Build Coastguard Worker // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*d9ecfb0fSAndroid Build Coastguard Worker // See the License for the specific language governing permissions and
13*d9ecfb0fSAndroid Build Coastguard Worker // limitations under the License.
14*d9ecfb0fSAndroid Build Coastguard Worker 
15*d9ecfb0fSAndroid Build Coastguard Worker import com.code_intelligence.jazzer.api.FuzzedDataProvider;
16*d9ecfb0fSAndroid Build Coastguard Worker import com.google.common.geometry.S2CellId;
17*d9ecfb0fSAndroid Build Coastguard Worker 
18*d9ecfb0fSAndroid Build Coastguard Worker public class S2CellIdFuzzer {
19*d9ecfb0fSAndroid Build Coastguard Worker 
fuzzerTestOneInput(FuzzedDataProvider data)20*d9ecfb0fSAndroid Build Coastguard Worker     public static void fuzzerTestOneInput(FuzzedDataProvider data) {
21*d9ecfb0fSAndroid Build Coastguard Worker         S2CellId id = new S2CellId(data.consumeLong());
22*d9ecfb0fSAndroid Build Coastguard Worker         while (data.remainingBytes() > 0) {
23*d9ecfb0fSAndroid Build Coastguard Worker                 try
24*d9ecfb0fSAndroid Build Coastguard Worker                 {
25*d9ecfb0fSAndroid Build Coastguard Worker                     id.fromToken(data.consumeString(Integer.MAX_VALUE));
26*d9ecfb0fSAndroid Build Coastguard Worker                 } catch (NumberFormatException e) {}
27*d9ecfb0fSAndroid Build Coastguard Worker         }
28*d9ecfb0fSAndroid Build Coastguard Worker     }
29*d9ecfb0fSAndroid Build Coastguard Worker }