diff --git a/projects/bc-java/X509CertPairParserFuzzer.java b/projects/bc-java/X509CertPairParserFuzzer.java new file mode 100644 index 000000000000..41aa4e19e570 --- /dev/null +++ b/projects/bc-java/X509CertPairParserFuzzer.java @@ -0,0 +1,36 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//////////////////////////////////////////////////////////////////////////////// + +import com.code_intelligence.jazzer.api.FuzzedDataProvider; +import java.io.IOException; +import org.bouncycastle.x509.util.StreamParsingException; +import org.bouncycastle.jce.provider.X509CertPairParser; +import java.io.ByteArrayInputStream; + +public class X509CertPairParserFuzzer { + public static void fuzzerTestOneInput(FuzzedDataProvider data) { + X509CertPairParser xcpp = new X509CertPairParser(); + xcpp.engineInit(new ByteArrayInputStream(data.consumeRemainingAsBytes())); + + try{ + xcpp.engineRead(); + } + catch (StreamParsingException e){ + return; + } + + } +}