aboutsummaryrefslogtreecommitdiffhomepage
path: root/projects/ots
diff options
context:
space:
mode:
Diffstat (limited to 'projects/ots')
-rw-r--r--projects/ots/Dockerfile23
-rwxr-xr-xprojects/ots/build.sh30
-rw-r--r--projects/ots/ots_fuzzer.cc19
-rw-r--r--projects/ots/ots_fuzzer.options2
-rw-r--r--projects/ots/seed_corpus/0509e80afb379d16560e9e47bdd7d888bebdebc6.ttfbin0 -> 61 bytes
-rw-r--r--projects/ots/seed_corpus/051d92f8bc6ff724511b296c27623f824de256e9.ttfbin0 -> 2028 bytes
-rw-r--r--projects/ots/seed_corpus/07f054357ff8638bac3711b422a1e31180bba863.ttfbin0 -> 848 bytes
-rw-r--r--projects/ots/seed_corpus/191826b9643e3f124d865d617ae609db6a2ce203.ttfbin0 -> 2140 bytes
-rw-r--r--projects/ots/seed_corpus/1a6f1687b7a221f9f2c834b0b360d3c8463b6daf.ttfbin0 -> 64 bytes
-rw-r--r--projects/ots/seed_corpus/1c04a16f32a39c26c851b7fc014d2e8d298ba2b8.ttfbin0 -> 820 bytes
-rw-r--r--projects/ots/seed_corpus/1c2c3fc37b2d4c3cb2ef726c6cdaaabd4b7f3eb9.ttfbin0 -> 316 bytes
-rw-r--r--projects/ots/seed_corpus/1c2fb74c1b2aa173262734c1f616148f1648cfd6.ttfbin0 -> 4064 bytes
-rw-r--r--projects/ots/seed_corpus/205edd09bd3d141cc9580f650109556cc28b22cb.ttfbin0 -> 1966 bytes
-rw-r--r--projects/ots/seed_corpus/226bc2deab3846f1a682085f70c67d0421014144.ttfbin0 -> 2828 bytes
-rw-r--r--projects/ots/seed_corpus/270b89df543a7e48e206a2d830c0e10e5265c630.ttfbin0 -> 3428 bytes
-rw-r--r--projects/ots/seed_corpus/298c9e1d955f10f6f72c6915c3c6ff9bf9695cec.ttfbin0 -> 2520 bytes
-rw-r--r--projects/ots/seed_corpus/3511ff5c1647150595846ac414c595cccac34f18.ttfbin0 -> 1483 bytes
-rw-r--r--projects/ots/seed_corpus/37033cc5cf37bb223d7355153016b6ccece93b28.ttfbin0 -> 2780 bytes
-rw-r--r--projects/ots/seed_corpus/375d6ae32a3cbe52fbf81a4e5777e3377675d5a3.ttfbin0 -> 1024 bytes
-rw-r--r--projects/ots/seed_corpus/43979b90b2dd929723cf4fe1715990bcb9c9a56b.ttfbin0 -> 1804 bytes
-rw-r--r--projects/ots/seed_corpus/43ef465752be9af900745f72fe29cb853a1401a5.ttfbin0 -> 4272 bytes
-rw-r--r--projects/ots/seed_corpus/45855bc8d46332b39c4ab9e2ee1a26b1f896da6b.ttfbin0 -> 1088 bytes
-rw-r--r--projects/ots/seed_corpus/49c9f7485c1392fa09a1b801bc2ffea79275f22e.ttfbin0 -> 1496 bytes
-rw-r--r--projects/ots/seed_corpus/4cce528e99f600ed9c25a2b69e32eb94a03b4ae8.ttfbin0 -> 1320 bytes
-rw-r--r--projects/ots/seed_corpus/5028afb650b1bb718ed2131e872fbcce57828fff.ttfbin0 -> 4720 bytes
-rw-r--r--projects/ots/seed_corpus/56cfd0e18d07f41c38e9598545a6d369127fc6f9.ttfbin0 -> 1412 bytes
-rw-r--r--projects/ots/seed_corpus/57a9d9f83020155cbb1d2be1f43d82388cbecc88.ttfbin0 -> 2272 bytes
-rw-r--r--projects/ots/seed_corpus/5a5daf5eb5a4db77a2baa3ad9c7a6ed6e0655fa8.ttfbin0 -> 61 bytes
-rw-r--r--projects/ots/seed_corpus/641bd9db850193064d17575053ae2bf8ec149ddc.ttfbin0 -> 305 bytes
-rw-r--r--projects/ots/seed_corpus/6466d38c62e73a39202435a4f73bf5d6acbb73c0.ttfbin0 -> 824 bytes
-rw-r--r--projects/ots/seed_corpus/6ff0fbead4462d9f229167b4e6839eceb8465058.ttfbin0 -> 1148 bytes
-rw-r--r--projects/ots/seed_corpus/706c5d7b625f207bc0d874c67237aad6f1e9cd6f.ttfbin0 -> 3868 bytes
-rw-r--r--projects/ots/seed_corpus/757ebd573617a24aa9dfbf0b885c54875c6fe06b.ttfbin0 -> 1804 bytes
-rw-r--r--projects/ots/seed_corpus/7a37dc4d5bf018456aea291cee06daf004c0221c.ttfbin0 -> 1080 bytes
-rw-r--r--projects/ots/seed_corpus/7e14e7883ed152baa158b80e207b66114c823a8b.ttfbin0 -> 1644 bytes
-rw-r--r--projects/ots/seed_corpus/7ef276fc886ea502a03b9b0e5c8b547d5dc2b61c.ttfbin0 -> 784 bytes
-rw-r--r--projects/ots/seed_corpus/8099955657a54e9ee38a6ba1d6f950ce58e3cc25.ttfbin0 -> 1024 bytes
-rw-r--r--projects/ots/seed_corpus/813c2f8e5512187fd982417a7fb4286728e6f4a8.ttfbin0 -> 3428 bytes
-rw-r--r--projects/ots/seed_corpus/8240789f6d12d4cfc4b5e8e6f246c3701bcf861f.ttfbin0 -> 633 bytes
-rw-r--r--projects/ots/seed_corpus/8454d22037f892e76614e1645d066689a0200e61.ttfbin0 -> 6068 bytes
-rw-r--r--projects/ots/seed_corpus/8a9fea2a7384f2116e5b84a9b31f83be7850ce21.ttfbin0 -> 3428 bytes
-rw-r--r--projects/ots/seed_corpus/a34a7b00f22ffb5fd7eef6933b81c7e71bc2cdfb.ttfbin0 -> 3700 bytes
-rw-r--r--projects/ots/seed_corpus/a919b33197965846f21074b24e30250d67277bce.ttfbin0 -> 12560 bytes
-rw-r--r--projects/ots/seed_corpus/a98e908e2ed21b22228ea59ebcc0f05034c86f2e.ttfbin0 -> 1016 bytes
-rw-r--r--projects/ots/seed_corpus/b9e2aaa0d75fcef6971ec3a96d806ba4a6b31fe2.ttfbin0 -> 1804 bytes
-rw-r--r--projects/ots/seed_corpus/bb0c53752e85c3d28973ebc913287b8987d3dfe8.ttfbin0 -> 976 bytes
-rw-r--r--projects/ots/seed_corpus/bb9473d2403488714043bcfb946c9f78b86ad627.ttfbin0 -> 3440 bytes
-rw-r--r--projects/ots/seed_corpus/c4e48b0886ef460f532fb49f00047ec92c432ec0.ttfbin0 -> 2512 bytes
-rw-r--r--projects/ots/seed_corpus/cc5f3d2d717fb6bd4dfae1c16d48a2cb8e12233b.ttfbin0 -> 1448 bytes
-rw-r--r--projects/ots/seed_corpus/d629e7fedc0b350222d7987345fe61613fa3929a.ttfbin0 -> 1768 bytes
-rw-r--r--projects/ots/seed_corpus/df768b9c257e0c9c35786c47cae15c46571d56be.ttfbin0 -> 6332 bytes
-rw-r--r--projects/ots/seed_corpus/e207635780b42f898d58654b65098763e340f5c7.ttfbin0 -> 3000 bytes
-rw-r--r--projects/ots/seed_corpus/ef86fe710cfea877bbe0dbb6946a1f88d0661031.ttfbin0 -> 2748 bytes
-rw-r--r--projects/ots/seed_corpus/f22416c692720a7d46fadf4af99f4c9e094f00b9.ttfbin0 -> 16736 bytes
-rw-r--r--projects/ots/seed_corpus/f499fbc23865022234775c43503bba2e63978fe1.ttfbin0 -> 3564 bytes
-rw-r--r--projects/ots/seed_corpus/f518eb6f6b5eec2946c9fbbbde44e45d46f5e2ac.ttfbin0 -> 1356 bytes
-rw-r--r--projects/ots/seed_corpus/fab39d60d758cb586db5a504f218442cd1395725.ttfbin0 -> 1894 bytes
-rw-r--r--projects/ots/seed_corpus/fbb6c84c9e1fe0c39e152fbe845e51fd81f6748e.ttfbin0 -> 2616 bytes
-rw-r--r--projects/ots/seed_corpus/fcdcffbdf1c4c97c05308d7600e4c283eb47dbca.ttfbin0 -> 1344 bytes
-rw-r--r--projects/ots/seed_corpus/ffa0f5d2d9025486d8469d8b1fdd983e7632499b.ttfbin0 -> 1448 bytes
-rw-r--r--projects/ots/target.yaml1
61 files changed, 75 insertions, 0 deletions
diff --git a/projects/ots/Dockerfile b/projects/ots/Dockerfile
new file mode 100644
index 00000000..8d33b582
--- /dev/null
+++ b/projects/ots/Dockerfile
@@ -0,0 +1,23 @@
+# Copyright 2016 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 ossfuzz/base-libfuzzer
+MAINTAINER mmoroz@chromium.org
+RUN apt-get install -y make autoconf automake libtool pkg-config zlib1g-dev
+RUN git clone https://github.com/khaledhosny/ots.git
+WORKDIR ots
+COPY build.sh ots_fuzzer.* $SRC/
+COPY seed_corpus $SRC/seed_corpus
diff --git a/projects/ots/build.sh b/projects/ots/build.sh
new file mode 100755
index 00000000..9b516f89
--- /dev/null
+++ b/projects/ots/build.sh
@@ -0,0 +1,30 @@
+#!/bin/bash -eu
+# Copyright 2016 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.
+#
+################################################################################
+
+# Build the target.
+./autogen.sh
+./configure
+
+make libots.a libwoff2.a libbrotli.a
+
+# Build the fuzzer.
+$CXX $CXXFLAGS -std=c++11 -Iinclude \
+ $SRC/ots_fuzzer.cc -o $OUT/ots_fuzzer \
+ -lfuzzer -lz $SRC/ots/libots.a $SRC/ots/libwoff2.a $SRC/ots/libbrotli.a
+
+cp $SRC/ots_fuzzer.options $OUT/
+zip $OUT/ots_fuzzer_seed_corpus.zip $SRC/seed_corpus/*
diff --git a/projects/ots/ots_fuzzer.cc b/projects/ots/ots_fuzzer.cc
new file mode 100644
index 00000000..3d4bd254
--- /dev/null
+++ b/projects/ots/ots_fuzzer.cc
@@ -0,0 +1,19 @@
+// Copyright 2016 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include <stddef.h>
+#include <stdint.h>
+
+#include "opentype-sanitiser.h"
+#include "ots-memory-stream.h"
+
+static uint8_t buffer[256 * 1024] = { 0 };
+
+// Entry point for LibFuzzer.
+extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) {
+ ots::OTSContext context;
+ ots::MemoryStream stream(static_cast<void*>(buffer), sizeof(buffer));
+ context.Process(&stream, data, size);
+ return 0;
+}
diff --git a/projects/ots/ots_fuzzer.options b/projects/ots/ots_fuzzer.options
new file mode 100644
index 00000000..dc3492cb
--- /dev/null
+++ b/projects/ots/ots_fuzzer.options
@@ -0,0 +1,2 @@
+[libfuzzer]
+max_len = 16800
diff --git a/projects/ots/seed_corpus/0509e80afb379d16560e9e47bdd7d888bebdebc6.ttf b/projects/ots/seed_corpus/0509e80afb379d16560e9e47bdd7d888bebdebc6.ttf
new file mode 100644
index 00000000..20360311
--- /dev/null
+++ b/projects/ots/seed_corpus/0509e80afb379d16560e9e47bdd7d888bebdebc6.ttf
Binary files differ
diff --git a/projects/ots/seed_corpus/051d92f8bc6ff724511b296c27623f824de256e9.ttf b/projects/ots/seed_corpus/051d92f8bc6ff724511b296c27623f824de256e9.ttf
new file mode 100644
index 00000000..419f8f3d
--- /dev/null
+++ b/projects/ots/seed_corpus/051d92f8bc6ff724511b296c27623f824de256e9.ttf
Binary files differ
diff --git a/projects/ots/seed_corpus/07f054357ff8638bac3711b422a1e31180bba863.ttf b/projects/ots/seed_corpus/07f054357ff8638bac3711b422a1e31180bba863.ttf
new file mode 100644
index 00000000..fcd4f323
--- /dev/null
+++ b/projects/ots/seed_corpus/07f054357ff8638bac3711b422a1e31180bba863.ttf
Binary files differ
diff --git a/projects/ots/seed_corpus/191826b9643e3f124d865d617ae609db6a2ce203.ttf b/projects/ots/seed_corpus/191826b9643e3f124d865d617ae609db6a2ce203.ttf
new file mode 100644
index 00000000..dbc6e268
--- /dev/null
+++ b/projects/ots/seed_corpus/191826b9643e3f124d865d617ae609db6a2ce203.ttf
Binary files differ
diff --git a/projects/ots/seed_corpus/1a6f1687b7a221f9f2c834b0b360d3c8463b6daf.ttf b/projects/ots/seed_corpus/1a6f1687b7a221f9f2c834b0b360d3c8463b6daf.ttf
new file mode 100644
index 00000000..c71e85a8
--- /dev/null
+++ b/projects/ots/seed_corpus/1a6f1687b7a221f9f2c834b0b360d3c8463b6daf.ttf
Binary files differ
diff --git a/projects/ots/seed_corpus/1c04a16f32a39c26c851b7fc014d2e8d298ba2b8.ttf b/projects/ots/seed_corpus/1c04a16f32a39c26c851b7fc014d2e8d298ba2b8.ttf
new file mode 100644
index 00000000..26d19ade
--- /dev/null
+++ b/projects/ots/seed_corpus/1c04a16f32a39c26c851b7fc014d2e8d298ba2b8.ttf
Binary files differ
diff --git a/projects/ots/seed_corpus/1c2c3fc37b2d4c3cb2ef726c6cdaaabd4b7f3eb9.ttf b/projects/ots/seed_corpus/1c2c3fc37b2d4c3cb2ef726c6cdaaabd4b7f3eb9.ttf
new file mode 100644
index 00000000..213e7ced
--- /dev/null
+++ b/projects/ots/seed_corpus/1c2c3fc37b2d4c3cb2ef726c6cdaaabd4b7f3eb9.ttf
Binary files differ
diff --git a/projects/ots/seed_corpus/1c2fb74c1b2aa173262734c1f616148f1648cfd6.ttf b/projects/ots/seed_corpus/1c2fb74c1b2aa173262734c1f616148f1648cfd6.ttf
new file mode 100644
index 00000000..72106585
--- /dev/null
+++ b/projects/ots/seed_corpus/1c2fb74c1b2aa173262734c1f616148f1648cfd6.ttf
Binary files differ
diff --git a/projects/ots/seed_corpus/205edd09bd3d141cc9580f650109556cc28b22cb.ttf b/projects/ots/seed_corpus/205edd09bd3d141cc9580f650109556cc28b22cb.ttf
new file mode 100644
index 00000000..4e0ce0a4
--- /dev/null
+++ b/projects/ots/seed_corpus/205edd09bd3d141cc9580f650109556cc28b22cb.ttf
Binary files differ
diff --git a/projects/ots/seed_corpus/226bc2deab3846f1a682085f70c67d0421014144.ttf b/projects/ots/seed_corpus/226bc2deab3846f1a682085f70c67d0421014144.ttf
new file mode 100644
index 00000000..70c0c0a8
--- /dev/null
+++ b/projects/ots/seed_corpus/226bc2deab3846f1a682085f70c67d0421014144.ttf
Binary files differ
diff --git a/projects/ots/seed_corpus/270b89df543a7e48e206a2d830c0e10e5265c630.ttf b/projects/ots/seed_corpus/270b89df543a7e48e206a2d830c0e10e5265c630.ttf
new file mode 100644
index 00000000..fc226491
--- /dev/null
+++ b/projects/ots/seed_corpus/270b89df543a7e48e206a2d830c0e10e5265c630.ttf
Binary files differ
diff --git a/projects/ots/seed_corpus/298c9e1d955f10f6f72c6915c3c6ff9bf9695cec.ttf b/projects/ots/seed_corpus/298c9e1d955f10f6f72c6915c3c6ff9bf9695cec.ttf
new file mode 100644
index 00000000..0d677a87
--- /dev/null
+++ b/projects/ots/seed_corpus/298c9e1d955f10f6f72c6915c3c6ff9bf9695cec.ttf
Binary files differ
diff --git a/projects/ots/seed_corpus/3511ff5c1647150595846ac414c595cccac34f18.ttf b/projects/ots/seed_corpus/3511ff5c1647150595846ac414c595cccac34f18.ttf
new file mode 100644
index 00000000..789abf7a
--- /dev/null
+++ b/projects/ots/seed_corpus/3511ff5c1647150595846ac414c595cccac34f18.ttf
Binary files differ
diff --git a/projects/ots/seed_corpus/37033cc5cf37bb223d7355153016b6ccece93b28.ttf b/projects/ots/seed_corpus/37033cc5cf37bb223d7355153016b6ccece93b28.ttf
new file mode 100644
index 00000000..14defeb7
--- /dev/null
+++ b/projects/ots/seed_corpus/37033cc5cf37bb223d7355153016b6ccece93b28.ttf
Binary files differ
diff --git a/projects/ots/seed_corpus/375d6ae32a3cbe52fbf81a4e5777e3377675d5a3.ttf b/projects/ots/seed_corpus/375d6ae32a3cbe52fbf81a4e5777e3377675d5a3.ttf
new file mode 100644
index 00000000..b284c986
--- /dev/null
+++ b/projects/ots/seed_corpus/375d6ae32a3cbe52fbf81a4e5777e3377675d5a3.ttf
Binary files differ
diff --git a/projects/ots/seed_corpus/43979b90b2dd929723cf4fe1715990bcb9c9a56b.ttf b/projects/ots/seed_corpus/43979b90b2dd929723cf4fe1715990bcb9c9a56b.ttf
new file mode 100644
index 00000000..a5c0156c
--- /dev/null
+++ b/projects/ots/seed_corpus/43979b90b2dd929723cf4fe1715990bcb9c9a56b.ttf
Binary files differ
diff --git a/projects/ots/seed_corpus/43ef465752be9af900745f72fe29cb853a1401a5.ttf b/projects/ots/seed_corpus/43ef465752be9af900745f72fe29cb853a1401a5.ttf
new file mode 100644
index 00000000..649c156a
--- /dev/null
+++ b/projects/ots/seed_corpus/43ef465752be9af900745f72fe29cb853a1401a5.ttf
Binary files differ
diff --git a/projects/ots/seed_corpus/45855bc8d46332b39c4ab9e2ee1a26b1f896da6b.ttf b/projects/ots/seed_corpus/45855bc8d46332b39c4ab9e2ee1a26b1f896da6b.ttf
new file mode 100644
index 00000000..6ef470c8
--- /dev/null
+++ b/projects/ots/seed_corpus/45855bc8d46332b39c4ab9e2ee1a26b1f896da6b.ttf
Binary files differ
diff --git a/projects/ots/seed_corpus/49c9f7485c1392fa09a1b801bc2ffea79275f22e.ttf b/projects/ots/seed_corpus/49c9f7485c1392fa09a1b801bc2ffea79275f22e.ttf
new file mode 100644
index 00000000..ea1326d2
--- /dev/null
+++ b/projects/ots/seed_corpus/49c9f7485c1392fa09a1b801bc2ffea79275f22e.ttf
Binary files differ
diff --git a/projects/ots/seed_corpus/4cce528e99f600ed9c25a2b69e32eb94a03b4ae8.ttf b/projects/ots/seed_corpus/4cce528e99f600ed9c25a2b69e32eb94a03b4ae8.ttf
new file mode 100644
index 00000000..dfaead72
--- /dev/null
+++ b/projects/ots/seed_corpus/4cce528e99f600ed9c25a2b69e32eb94a03b4ae8.ttf
Binary files differ
diff --git a/projects/ots/seed_corpus/5028afb650b1bb718ed2131e872fbcce57828fff.ttf b/projects/ots/seed_corpus/5028afb650b1bb718ed2131e872fbcce57828fff.ttf
new file mode 100644
index 00000000..8fb2f162
--- /dev/null
+++ b/projects/ots/seed_corpus/5028afb650b1bb718ed2131e872fbcce57828fff.ttf
Binary files differ
diff --git a/projects/ots/seed_corpus/56cfd0e18d07f41c38e9598545a6d369127fc6f9.ttf b/projects/ots/seed_corpus/56cfd0e18d07f41c38e9598545a6d369127fc6f9.ttf
new file mode 100644
index 00000000..4795238b
--- /dev/null
+++ b/projects/ots/seed_corpus/56cfd0e18d07f41c38e9598545a6d369127fc6f9.ttf
Binary files differ
diff --git a/projects/ots/seed_corpus/57a9d9f83020155cbb1d2be1f43d82388cbecc88.ttf b/projects/ots/seed_corpus/57a9d9f83020155cbb1d2be1f43d82388cbecc88.ttf
new file mode 100644
index 00000000..746fc603
--- /dev/null
+++ b/projects/ots/seed_corpus/57a9d9f83020155cbb1d2be1f43d82388cbecc88.ttf
Binary files differ
diff --git a/projects/ots/seed_corpus/5a5daf5eb5a4db77a2baa3ad9c7a6ed6e0655fa8.ttf b/projects/ots/seed_corpus/5a5daf5eb5a4db77a2baa3ad9c7a6ed6e0655fa8.ttf
new file mode 100644
index 00000000..9b4d23f5
--- /dev/null
+++ b/projects/ots/seed_corpus/5a5daf5eb5a4db77a2baa3ad9c7a6ed6e0655fa8.ttf
Binary files differ
diff --git a/projects/ots/seed_corpus/641bd9db850193064d17575053ae2bf8ec149ddc.ttf b/projects/ots/seed_corpus/641bd9db850193064d17575053ae2bf8ec149ddc.ttf
new file mode 100644
index 00000000..66cefd4d
--- /dev/null
+++ b/projects/ots/seed_corpus/641bd9db850193064d17575053ae2bf8ec149ddc.ttf
Binary files differ
diff --git a/projects/ots/seed_corpus/6466d38c62e73a39202435a4f73bf5d6acbb73c0.ttf b/projects/ots/seed_corpus/6466d38c62e73a39202435a4f73bf5d6acbb73c0.ttf
new file mode 100644
index 00000000..33c4229c
--- /dev/null
+++ b/projects/ots/seed_corpus/6466d38c62e73a39202435a4f73bf5d6acbb73c0.ttf
Binary files differ
diff --git a/projects/ots/seed_corpus/6ff0fbead4462d9f229167b4e6839eceb8465058.ttf b/projects/ots/seed_corpus/6ff0fbead4462d9f229167b4e6839eceb8465058.ttf
new file mode 100644
index 00000000..67be5258
--- /dev/null
+++ b/projects/ots/seed_corpus/6ff0fbead4462d9f229167b4e6839eceb8465058.ttf
Binary files differ
diff --git a/projects/ots/seed_corpus/706c5d7b625f207bc0d874c67237aad6f1e9cd6f.ttf b/projects/ots/seed_corpus/706c5d7b625f207bc0d874c67237aad6f1e9cd6f.ttf
new file mode 100644
index 00000000..eb5c50c6
--- /dev/null
+++ b/projects/ots/seed_corpus/706c5d7b625f207bc0d874c67237aad6f1e9cd6f.ttf
Binary files differ
diff --git a/projects/ots/seed_corpus/757ebd573617a24aa9dfbf0b885c54875c6fe06b.ttf b/projects/ots/seed_corpus/757ebd573617a24aa9dfbf0b885c54875c6fe06b.ttf
new file mode 100644
index 00000000..bbe22370
--- /dev/null
+++ b/projects/ots/seed_corpus/757ebd573617a24aa9dfbf0b885c54875c6fe06b.ttf
Binary files differ
diff --git a/projects/ots/seed_corpus/7a37dc4d5bf018456aea291cee06daf004c0221c.ttf b/projects/ots/seed_corpus/7a37dc4d5bf018456aea291cee06daf004c0221c.ttf
new file mode 100644
index 00000000..a5787a8c
--- /dev/null
+++ b/projects/ots/seed_corpus/7a37dc4d5bf018456aea291cee06daf004c0221c.ttf
Binary files differ
diff --git a/projects/ots/seed_corpus/7e14e7883ed152baa158b80e207b66114c823a8b.ttf b/projects/ots/seed_corpus/7e14e7883ed152baa158b80e207b66114c823a8b.ttf
new file mode 100644
index 00000000..27efd7c9
--- /dev/null
+++ b/projects/ots/seed_corpus/7e14e7883ed152baa158b80e207b66114c823a8b.ttf
Binary files differ
diff --git a/projects/ots/seed_corpus/7ef276fc886ea502a03b9b0e5c8b547d5dc2b61c.ttf b/projects/ots/seed_corpus/7ef276fc886ea502a03b9b0e5c8b547d5dc2b61c.ttf
new file mode 100644
index 00000000..fb4534ab
--- /dev/null
+++ b/projects/ots/seed_corpus/7ef276fc886ea502a03b9b0e5c8b547d5dc2b61c.ttf
Binary files differ
diff --git a/projects/ots/seed_corpus/8099955657a54e9ee38a6ba1d6f950ce58e3cc25.ttf b/projects/ots/seed_corpus/8099955657a54e9ee38a6ba1d6f950ce58e3cc25.ttf
new file mode 100644
index 00000000..6bb13bd5
--- /dev/null
+++ b/projects/ots/seed_corpus/8099955657a54e9ee38a6ba1d6f950ce58e3cc25.ttf
Binary files differ
diff --git a/projects/ots/seed_corpus/813c2f8e5512187fd982417a7fb4286728e6f4a8.ttf b/projects/ots/seed_corpus/813c2f8e5512187fd982417a7fb4286728e6f4a8.ttf
new file mode 100644
index 00000000..b728b277
--- /dev/null
+++ b/projects/ots/seed_corpus/813c2f8e5512187fd982417a7fb4286728e6f4a8.ttf
Binary files differ
diff --git a/projects/ots/seed_corpus/8240789f6d12d4cfc4b5e8e6f246c3701bcf861f.ttf b/projects/ots/seed_corpus/8240789f6d12d4cfc4b5e8e6f246c3701bcf861f.ttf
new file mode 100644
index 00000000..8eed14d9
--- /dev/null
+++ b/projects/ots/seed_corpus/8240789f6d12d4cfc4b5e8e6f246c3701bcf861f.ttf
Binary files differ
diff --git a/projects/ots/seed_corpus/8454d22037f892e76614e1645d066689a0200e61.ttf b/projects/ots/seed_corpus/8454d22037f892e76614e1645d066689a0200e61.ttf
new file mode 100644
index 00000000..2cbb67a4
--- /dev/null
+++ b/projects/ots/seed_corpus/8454d22037f892e76614e1645d066689a0200e61.ttf
Binary files differ
diff --git a/projects/ots/seed_corpus/8a9fea2a7384f2116e5b84a9b31f83be7850ce21.ttf b/projects/ots/seed_corpus/8a9fea2a7384f2116e5b84a9b31f83be7850ce21.ttf
new file mode 100644
index 00000000..875c6998
--- /dev/null
+++ b/projects/ots/seed_corpus/8a9fea2a7384f2116e5b84a9b31f83be7850ce21.ttf
Binary files differ
diff --git a/projects/ots/seed_corpus/a34a7b00f22ffb5fd7eef6933b81c7e71bc2cdfb.ttf b/projects/ots/seed_corpus/a34a7b00f22ffb5fd7eef6933b81c7e71bc2cdfb.ttf
new file mode 100644
index 00000000..74fceec8
--- /dev/null
+++ b/projects/ots/seed_corpus/a34a7b00f22ffb5fd7eef6933b81c7e71bc2cdfb.ttf
Binary files differ
diff --git a/projects/ots/seed_corpus/a919b33197965846f21074b24e30250d67277bce.ttf b/projects/ots/seed_corpus/a919b33197965846f21074b24e30250d67277bce.ttf
new file mode 100644
index 00000000..d2f116ef
--- /dev/null
+++ b/projects/ots/seed_corpus/a919b33197965846f21074b24e30250d67277bce.ttf
Binary files differ
diff --git a/projects/ots/seed_corpus/a98e908e2ed21b22228ea59ebcc0f05034c86f2e.ttf b/projects/ots/seed_corpus/a98e908e2ed21b22228ea59ebcc0f05034c86f2e.ttf
new file mode 100644
index 00000000..8bbddb12
--- /dev/null
+++ b/projects/ots/seed_corpus/a98e908e2ed21b22228ea59ebcc0f05034c86f2e.ttf
Binary files differ
diff --git a/projects/ots/seed_corpus/b9e2aaa0d75fcef6971ec3a96d806ba4a6b31fe2.ttf b/projects/ots/seed_corpus/b9e2aaa0d75fcef6971ec3a96d806ba4a6b31fe2.ttf
new file mode 100644
index 00000000..500276df
--- /dev/null
+++ b/projects/ots/seed_corpus/b9e2aaa0d75fcef6971ec3a96d806ba4a6b31fe2.ttf
Binary files differ
diff --git a/projects/ots/seed_corpus/bb0c53752e85c3d28973ebc913287b8987d3dfe8.ttf b/projects/ots/seed_corpus/bb0c53752e85c3d28973ebc913287b8987d3dfe8.ttf
new file mode 100644
index 00000000..3b7c4707
--- /dev/null
+++ b/projects/ots/seed_corpus/bb0c53752e85c3d28973ebc913287b8987d3dfe8.ttf
Binary files differ
diff --git a/projects/ots/seed_corpus/bb9473d2403488714043bcfb946c9f78b86ad627.ttf b/projects/ots/seed_corpus/bb9473d2403488714043bcfb946c9f78b86ad627.ttf
new file mode 100644
index 00000000..b16dae6c
--- /dev/null
+++ b/projects/ots/seed_corpus/bb9473d2403488714043bcfb946c9f78b86ad627.ttf
Binary files differ
diff --git a/projects/ots/seed_corpus/c4e48b0886ef460f532fb49f00047ec92c432ec0.ttf b/projects/ots/seed_corpus/c4e48b0886ef460f532fb49f00047ec92c432ec0.ttf
new file mode 100644
index 00000000..99cda169
--- /dev/null
+++ b/projects/ots/seed_corpus/c4e48b0886ef460f532fb49f00047ec92c432ec0.ttf
Binary files differ
diff --git a/projects/ots/seed_corpus/cc5f3d2d717fb6bd4dfae1c16d48a2cb8e12233b.ttf b/projects/ots/seed_corpus/cc5f3d2d717fb6bd4dfae1c16d48a2cb8e12233b.ttf
new file mode 100644
index 00000000..a48d2a68
--- /dev/null
+++ b/projects/ots/seed_corpus/cc5f3d2d717fb6bd4dfae1c16d48a2cb8e12233b.ttf
Binary files differ
diff --git a/projects/ots/seed_corpus/d629e7fedc0b350222d7987345fe61613fa3929a.ttf b/projects/ots/seed_corpus/d629e7fedc0b350222d7987345fe61613fa3929a.ttf
new file mode 100644
index 00000000..e674a78b
--- /dev/null
+++ b/projects/ots/seed_corpus/d629e7fedc0b350222d7987345fe61613fa3929a.ttf
Binary files differ
diff --git a/projects/ots/seed_corpus/df768b9c257e0c9c35786c47cae15c46571d56be.ttf b/projects/ots/seed_corpus/df768b9c257e0c9c35786c47cae15c46571d56be.ttf
new file mode 100644
index 00000000..c6d8b18e
--- /dev/null
+++ b/projects/ots/seed_corpus/df768b9c257e0c9c35786c47cae15c46571d56be.ttf
Binary files differ
diff --git a/projects/ots/seed_corpus/e207635780b42f898d58654b65098763e340f5c7.ttf b/projects/ots/seed_corpus/e207635780b42f898d58654b65098763e340f5c7.ttf
new file mode 100644
index 00000000..d91df572
--- /dev/null
+++ b/projects/ots/seed_corpus/e207635780b42f898d58654b65098763e340f5c7.ttf
Binary files differ
diff --git a/projects/ots/seed_corpus/ef86fe710cfea877bbe0dbb6946a1f88d0661031.ttf b/projects/ots/seed_corpus/ef86fe710cfea877bbe0dbb6946a1f88d0661031.ttf
new file mode 100644
index 00000000..629c470c
--- /dev/null
+++ b/projects/ots/seed_corpus/ef86fe710cfea877bbe0dbb6946a1f88d0661031.ttf
Binary files differ
diff --git a/projects/ots/seed_corpus/f22416c692720a7d46fadf4af99f4c9e094f00b9.ttf b/projects/ots/seed_corpus/f22416c692720a7d46fadf4af99f4c9e094f00b9.ttf
new file mode 100644
index 00000000..1dbadde4
--- /dev/null
+++ b/projects/ots/seed_corpus/f22416c692720a7d46fadf4af99f4c9e094f00b9.ttf
Binary files differ
diff --git a/projects/ots/seed_corpus/f499fbc23865022234775c43503bba2e63978fe1.ttf b/projects/ots/seed_corpus/f499fbc23865022234775c43503bba2e63978fe1.ttf
new file mode 100644
index 00000000..3c605934
--- /dev/null
+++ b/projects/ots/seed_corpus/f499fbc23865022234775c43503bba2e63978fe1.ttf
Binary files differ
diff --git a/projects/ots/seed_corpus/f518eb6f6b5eec2946c9fbbbde44e45d46f5e2ac.ttf b/projects/ots/seed_corpus/f518eb6f6b5eec2946c9fbbbde44e45d46f5e2ac.ttf
new file mode 100644
index 00000000..039f5e8a
--- /dev/null
+++ b/projects/ots/seed_corpus/f518eb6f6b5eec2946c9fbbbde44e45d46f5e2ac.ttf
Binary files differ
diff --git a/projects/ots/seed_corpus/fab39d60d758cb586db5a504f218442cd1395725.ttf b/projects/ots/seed_corpus/fab39d60d758cb586db5a504f218442cd1395725.ttf
new file mode 100644
index 00000000..451ed047
--- /dev/null
+++ b/projects/ots/seed_corpus/fab39d60d758cb586db5a504f218442cd1395725.ttf
Binary files differ
diff --git a/projects/ots/seed_corpus/fbb6c84c9e1fe0c39e152fbe845e51fd81f6748e.ttf b/projects/ots/seed_corpus/fbb6c84c9e1fe0c39e152fbe845e51fd81f6748e.ttf
new file mode 100644
index 00000000..d49432dd
--- /dev/null
+++ b/projects/ots/seed_corpus/fbb6c84c9e1fe0c39e152fbe845e51fd81f6748e.ttf
Binary files differ
diff --git a/projects/ots/seed_corpus/fcdcffbdf1c4c97c05308d7600e4c283eb47dbca.ttf b/projects/ots/seed_corpus/fcdcffbdf1c4c97c05308d7600e4c283eb47dbca.ttf
new file mode 100644
index 00000000..c4e0253c
--- /dev/null
+++ b/projects/ots/seed_corpus/fcdcffbdf1c4c97c05308d7600e4c283eb47dbca.ttf
Binary files differ
diff --git a/projects/ots/seed_corpus/ffa0f5d2d9025486d8469d8b1fdd983e7632499b.ttf b/projects/ots/seed_corpus/ffa0f5d2d9025486d8469d8b1fdd983e7632499b.ttf
new file mode 100644
index 00000000..224dbc63
--- /dev/null
+++ b/projects/ots/seed_corpus/ffa0f5d2d9025486d8469d8b1fdd983e7632499b.ttf
Binary files differ
diff --git a/projects/ots/target.yaml b/projects/ots/target.yaml
new file mode 100644
index 00000000..0a12f123
--- /dev/null
+++ b/projects/ots/target.yaml
@@ -0,0 +1 @@
+homepage: "https://github.com/khaledhosny/ots"