aboutsummaryrefslogtreecommitdiff
path: root/projects/prometheus
diff options
context:
space:
mode:
authorAdamKorcz <44787359+AdamKorcz@users.noreply.github.com>2020-05-15 15:18:27 +0100
committerGitHub <noreply@github.com>2020-05-15 07:18:27 -0700
commit86148c50a754be90eda8fba0d854895f0c5f1268 (patch)
treeb96593aa5ff13ba7800700902687eaf4686c7824 /projects/prometheus
parent31c0b039cf64cad660e9ed61dbf18a6427c5c66f (diff)
downloadoss-fuzz-86148c50a754be90eda8fba0d854895f0c5f1268.tar.gz
[Prometheus] Initial integration (#3821)
* [Prometheus] Initial integration * Added missing dash in project.yaml
Diffstat (limited to 'projects/prometheus')
-rw-r--r--projects/prometheus/Dockerfile21
-rwxr-xr-xprojects/prometheus/build.sh29
-rw-r--r--projects/prometheus/project.yaml9
3 files changed, 59 insertions, 0 deletions
diff --git a/projects/prometheus/Dockerfile b/projects/prometheus/Dockerfile
new file mode 100644
index 000000000..ca23bb243
--- /dev/null
+++ b/projects/prometheus/Dockerfile
@@ -0,0 +1,21 @@
+# Copyright 2020 Google Inc.
+#
+# 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.
+#
+################################################################################
+
+FROM gcr.io/oss-fuzz-base/base-builder
+MAINTAINER adam@adalogics.com
+RUN go get github.com/prometheus/prometheus/cmd/...
+COPY build.sh $SRC/
+WORKDIR $SRC/
diff --git a/projects/prometheus/build.sh b/projects/prometheus/build.sh
new file mode 100755
index 000000000..c8011afb8
--- /dev/null
+++ b/projects/prometheus/build.sh
@@ -0,0 +1,29 @@
+#/bin/bash -eu
+# Copyright 2020 Google Inc.
+#
+# 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.
+#
+################################################################################
+function compile_fuzzer {
+ path=$1
+ function=$2
+ fuzzer=$3
+
+ go-fuzz -func $function -o $fuzzer.a $path
+
+ $CXX $CXXFLAGS $LIB_FUZZING_ENGINE $fuzzer.a -o $OUT/$fuzzer
+}
+compile_fuzzer github.com/prometheus/prometheus/promql FuzzParseMetric fuzzParseMetric
+compile_fuzzer github.com/prometheus/prometheus/promql FuzzParseOpenMetric fuzzParseOpenMetric
+compile_fuzzer github.com/prometheus/prometheus/promql FuzzParseMetricSelector fuzzParseMetricSelector
+compile_fuzzer github.com/prometheus/prometheus/promql FuzzParseExpr fuzzParseExpr
diff --git a/projects/prometheus/project.yaml b/projects/prometheus/project.yaml
new file mode 100644
index 000000000..9eb46ab4d
--- /dev/null
+++ b/projects/prometheus/project.yaml
@@ -0,0 +1,9 @@
+homepage: "https://github.com/prometheus/prometheus"
+primary_contact: "prometheus-team@googlegroups.com"
+auto_ccs :
+ - "adam@adalogics.com"
+language: go
+fuzzing_engines:
+ - libfuzzer
+sanitizers:
+ - address