aboutsummaryrefslogtreecommitdiffhomepage
path: root/projects/skcms
diff options
context:
space:
mode:
authorGravatar Kevin Lubick <kjlubick@users.noreply.github.com>2018-02-07 18:11:45 -0500
committerGravatar jonathanmetzman <31354670+jonathanmetzman@users.noreply.github.com>2018-02-07 15:11:45 -0800
commita3f8663d195b4ee37a9ec23e62df37f7ba2b5536 (patch)
treeb468c7b77d04a52889434ddfe2824def93a95b96 /projects/skcms
parent7084117cc9fd340da8434de7b18de22b386a72cf (diff)
Add SKCMS project (#1141)
Diffstat (limited to 'projects/skcms')
-rw-r--r--projects/skcms/Dockerfile32
-rw-r--r--projects/skcms/build.sh30
-rw-r--r--projects/skcms/iccprofile.options3
-rw-r--r--projects/skcms/project.yaml10
4 files changed, 75 insertions, 0 deletions
diff --git a/projects/skcms/Dockerfile b/projects/skcms/Dockerfile
new file mode 100644
index 00000000..797a00bb
--- /dev/null
+++ b/projects/skcms/Dockerfile
@@ -0,0 +1,32 @@
+# Copyright 2018 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 kjlubick@chromium.org
+
+RUN apt-get update && apt-get install -y wget
+
+# checkout all sources needed to build your project
+RUN git clone https://skia.googlesource.com/skcms.git
+
+RUN wget -O $SRC/skcms/iccprofile_seed_corpus.zip https://storage.googleapis.com/skia-fuzzer/oss-fuzz/iccprofile_seed_corpus.zip
+
+# current directory for build script
+WORKDIR skcms
+
+COPY build.sh $SRC/
+
+COPY iccprofile.options $SRC/skcms/ \ No newline at end of file
diff --git a/projects/skcms/build.sh b/projects/skcms/build.sh
new file mode 100644
index 00000000..af8e58f8
--- /dev/null
+++ b/projects/skcms/build.sh
@@ -0,0 +1,30 @@
+#!/bin/bash -eu
+# Copyright 2018 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.
+#
+################################################################################
+
+$CC -c $CFLAGS skcms.c fuzz/fuzz_iccprofile_info.c fuzz/fuzz_iccprofile_atf.c fuzz/fuzz_iccprofile_transform.c -DIS_FUZZING_WITH_LIBFUZZER
+$CXX $CXXFLAGS skcms.o fuzz_iccprofile_info.o $LIB_FUZZING_ENGINE -o $OUT/iccprofile_info
+$CXX $CXXFLAGS skcms.o fuzz_iccprofile_atf.o $LIB_FUZZING_ENGINE -o $OUT/iccprofile_atf
+$CXX $CXXFLAGS skcms.o fuzz_iccprofile_transform.o $LIB_FUZZING_ENGINE -o $OUT/iccprofile_transform
+
+# They share the same options
+cp iccprofile.options $OUT/iccprofile_info.options
+cp iccprofile.options $OUT/iccprofile_atf.options
+cp iccprofile.options $OUT/fuzz_iccprofile_transform.options
+# They all share the same seed corpus of icc profiles
+cp iccprofile_seed_corpus.zip $OUT/iccprofile_info_seed_corpus.zip
+cp iccprofile_seed_corpus.zip $OUT/iccprofile_atf_seed_corpus.zip
+cp iccprofile_seed_corpus.zip $OUT/iccprofile_transform_seed_corpus.zip \ No newline at end of file
diff --git a/projects/skcms/iccprofile.options b/projects/skcms/iccprofile.options
new file mode 100644
index 00000000..0bde038f
--- /dev/null
+++ b/projects/skcms/iccprofile.options
@@ -0,0 +1,3 @@
+[libfuzzer]
+max_len = 10024
+timeout = 10
diff --git a/projects/skcms/project.yaml b/projects/skcms/project.yaml
new file mode 100644
index 00000000..36dd8b1a
--- /dev/null
+++ b/projects/skcms/project.yaml
@@ -0,0 +1,10 @@
+homepage: "https://skia.googlesource.com/skcms/+/master"
+primary_contact: "kjlubick@chromium.org"
+auto_ccs:
+ - "mtklein@chromium.org"
+ - "brianosman@chromium.org"
+sanitizers:
+ - address
+ - memory
+ - undefined:
+ experimental: True