mirror of
https://github.com/SideStore/SideStore.git
synced 2026-02-20 04:03:26 +01:00
More spm fixes
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
if BUILD_FUZZERS
|
||||
|
||||
libFuzzer.a: Fuzzer/build.sh
|
||||
@echo "Building $@"
|
||||
@./Fuzzer/build.sh
|
||||
|
||||
Fuzzer/build.sh: LIBFUZZER_SRC
|
||||
|
||||
LIBFUZZER_SRC:
|
||||
@if test -d Fuzzer ; then \
|
||||
if test -d Fuzzer/.git ; then \
|
||||
echo Making sure libFuzzer source tree is up-to-date... ; \
|
||||
cd Fuzzer && git checkout . && git pull && cd .. ; \
|
||||
fi \
|
||||
else \
|
||||
echo Checking out libFuzzer source code... ; \
|
||||
git clone https://chromium.googlesource.com/chromium/llvm-project/llvm/lib/Fuzzer ; \
|
||||
fi
|
||||
|
||||
CLEANFILES = libFuzzer.a
|
||||
|
||||
noinst_PROGRAMS = xplist_fuzzer bplist_fuzzer
|
||||
|
||||
xplist_fuzzer_SOURCES = xplist_fuzzer.cc
|
||||
xplist_fuzzer_LDFLAGS = -static
|
||||
xplist_fuzzer_LDADD = $(top_builddir)/src/libplist.la libFuzzer.a
|
||||
|
||||
bplist_fuzzer_SOURCES = bplist_fuzzer.cc
|
||||
bplist_fuzzer_LDFLAGS = -static
|
||||
bplist_fuzzer_LDADD = $(top_builddir)/src/libplist.la libFuzzer.a
|
||||
|
||||
TESTS = fuzzers.test
|
||||
|
||||
EXTRA_DIST = bplist.dict xplist.dict init-fuzzers.sh test-fuzzers.sh fuzzers.test
|
||||
|
||||
endif
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1 @@
|
||||
header_bplist = "bplist00"
|
||||
@@ -0,0 +1,32 @@
|
||||
/*
|
||||
* bplist_fuzzer.cc
|
||||
* binary plist fuzz target for libFuzzer
|
||||
*
|
||||
* Copyright (c) 2017 Nikias Bassen All Rights Reserved.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
#include <plist/plist.h>
|
||||
#include <stdio.h>
|
||||
|
||||
extern "C" int LLVMFuzzerTestOneInput(const unsigned char* data, size_t size)
|
||||
{
|
||||
plist_t root_node = NULL;
|
||||
plist_from_bin(reinterpret_cast<const char*>(data), size, &root_node);
|
||||
plist_free(root_node);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
[libfuzzer]
|
||||
max_len = 4096
|
||||
dict = bplist.dict
|
||||
8
Sources/libimobiledevice/dependencies/libplist/fuzz/fuzzers.test
Executable file
8
Sources/libimobiledevice/dependencies/libplist/fuzz/fuzzers.test
Executable file
@@ -0,0 +1,8 @@
|
||||
## -*- sh -*-
|
||||
|
||||
set -e
|
||||
|
||||
./init-fuzzers.sh
|
||||
|
||||
./test-fuzzers.sh
|
||||
|
||||
23
Sources/libimobiledevice/dependencies/libplist/fuzz/init-fuzzers.sh
Executable file
23
Sources/libimobiledevice/dependencies/libplist/fuzz/init-fuzzers.sh
Executable file
@@ -0,0 +1,23 @@
|
||||
#!/bin/sh
|
||||
|
||||
CURDIR=`pwd`
|
||||
FUZZDIR=`dirname $0`
|
||||
|
||||
cd ${FUZZDIR}
|
||||
|
||||
if ! test -x xplist_fuzzer || ! test -x bplist_fuzzer; then
|
||||
echo "ERROR: you need to build the fuzzers first."
|
||||
cd ${CURDIR}
|
||||
exit 1
|
||||
fi
|
||||
|
||||
mkdir -p xplist-input
|
||||
cp ../test/data/*.plist xplist-input/
|
||||
./xplist_fuzzer -merge=1 xplist-input xplist-crashes xplist-leaks -dict=xplist.dict
|
||||
|
||||
mkdir -p bplist-input
|
||||
cp ../test/data/*.bplist bplist-input/
|
||||
./bplist_fuzzer -merge=1 bplist-input bplist-crashes bplist-leaks -dict=bplist.dict
|
||||
|
||||
cd ${CURDIR}
|
||||
exit 0
|
||||
33
Sources/libimobiledevice/dependencies/libplist/fuzz/test-fuzzers.sh
Executable file
33
Sources/libimobiledevice/dependencies/libplist/fuzz/test-fuzzers.sh
Executable file
@@ -0,0 +1,33 @@
|
||||
#!/bin/sh
|
||||
|
||||
CURDIR=`pwd`
|
||||
FUZZDIR=`dirname $0`
|
||||
|
||||
cd ${FUZZDIR}
|
||||
|
||||
if ! test -x xplist_fuzzer || ! test -x bplist_fuzzer; then
|
||||
echo "ERROR: you need to build the fuzzers first."
|
||||
cd ${CURDIR}
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! test -d xplist-input || ! test -d bplist-input; then
|
||||
echo "ERROR: fuzzer corpora directories are not present. Did you run init-fuzzers.sh ?"
|
||||
cd ${CURDIR}
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "### TESTING xplist_fuzzer ###"
|
||||
if ! ./xplist_fuzzer xplist-input -dict=xplist.dict -max_len=65536 -runs=10000; then
|
||||
cd ${CURDIR}
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "### TESTING bplist_fuzzer ###"
|
||||
if ! ./bplist_fuzzer bplist-input -dict=bplist.dict -max_len=4096 -runs=10000; then
|
||||
cd ${CURDIR}
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cd ${CURDIR}
|
||||
exit 0
|
||||
Binary file not shown.
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<plist>
|
||||
<data>
|
||||
/EN" "http://www.apple.com/DTDs========================/PropertyList-1.0.</data>
|
||||
</plist>
|
||||
@@ -0,0 +1,45 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http<key>test<!test></key>
|
||||
://www.apple.com/D|Ds/Pr<false/>st-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>Time1</key>
|
||||
<dict>
|
||||
<key>Time1</key>
|
||||
<dict>
|
||||
<key>Time1</key>
|
||||
<dict>
|
||||
<key>CF$UID</key>
|
||||
<dict>
|
||||
<key>Time1</key>
|
||||
<dict>
|
||||
<key>Time1</key>
|
||||
<dict>
|
||||
<key>Time1</key>
|
||||
<dict>
|
||||
<key>Time1</key>
|
||||
<dict>
|
||||
<key>Time1</key>
|
||||
<dict>
|
||||
<key>Time1</key>
|
||||
<dict>
|
||||
<key>Time1</key>
|
||||
<dict>
|
||||
<key>Time1</key>
|
||||
<dict>
|
||||
<key>Time1</key>
|
||||
<dict>
|
||||
<key>Time1</key>
|
||||
<dict>
|
||||
<key>Time1</key>
|
||||
<dict>
|
||||
<key>Time1</key>
|
||||
<dict>
|
||||
<key>Time1</key>
|
||||
<date>2010-11-12T13:14:15Z</date>
|
||||
<key>Time2</key>
|
||||
<date>2008-07-06T05:04:03Z</date>
|
||||
<key>Time3</key>
|
||||
<date>1869-01-03T08:16:32Z</date>
|
||||
<key>Time4</key>
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
@@ -0,0 +1,53 @@
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>some test entitites</key>
|
||||
<dict>
|
||||
<key>copyright</key>
|
||||
<string>©</string>
|
||||
<key>multiple entitites</key>
|
||||
<string>⼠⼡⼢</string>
|
||||
<key>multiple entitites with characters inbetween</key>
|
||||
<string>a⼣b⼤c⼥d</string>
|
||||
</dict>
|
||||
<key>one byte entity</key>
|
||||
<dict>
|
||||
<key>one byte entity</key>
|
||||
<string>@</string>
|
||||
<key>one byte entity with text after</key>
|
||||
<string>@z</string>
|
||||
<key>one byte entity with text before</key>
|
||||
<string>a@</string>
|
||||
<key>one byte entity with text before & after</key>
|
||||
<string>a@z</string>
|
||||
</dict>
|
||||
<key>two-byte utf-8</key>
|
||||
<dict>
|
||||
<key>two-byte utf-8</key>
|
||||
<string>Ä</string>
|
||||
<key>two-byte utf-8 with text after</key>
|
||||
<string>Ëyz</string>
|
||||
<key>two-byte utf-8 with text before</key>
|
||||
<string>abÖ</string>
|
||||
<key>two-byte utf-8 with text before & after</key>
|
||||
<string>abÜyz</string>
|
||||
</dict>
|
||||
<key>three byte utf-8</key>
|
||||
<dict>
|
||||
<key>three byte utf-8</key>
|
||||
<string>¢</string>
|
||||
<key>three byte utf-8 with text after</key>
|
||||
<string>£xyz</string>
|
||||
<key>three byte utf-8 with text bef&a;</key>
|
||||
<string>abc¥</string>
|
||||
<key>three byte utf-8 with text before & after</key>
|
||||
(<string>abc₩xyz</string>
|
||||
</dict>
|
||||
<key>four byte utf-8</key>
|
||||
<dict>
|
||||
<key>four byte utf-8</key>
|
||||
<string>𝕢</string>
|
||||
with text before & after</key>
|
||||
<string>abcd𝕥wxyz</string>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
||||
@@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.aPropertyList-1.0.dtd">
|
||||
<plist version="1.0teger>
|
||||
<integer>9223372036854775807</integer>
|
||||
<integer>-9223372036854775808</integer>
|
||||
<integer>9223372036854775808</036854775808</in6854775808</integer>
|
||||
<integer>9223372036854775808</036854775808</integer>
|
||||
</array>
|
||||
</plist>
|
||||
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<array>
|
||||
<integer>-1</integer>
|
||||
<integer>18446744073709551615</integer>
|
||||
<integer>9223372036854775807</integer>
|
||||
<integer>-9223372036854775808</integer>
|
||||
<integer>9223372036854775808</integer>
|
||||
</array>
|
||||
</plist>
|
||||
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist versiog="1.0">
|
||||
<dict>
|
||||
<key>Time1</key>
|
||||
<date>2010-11-12T13:14:15Z</date>
|
||||
<key>Time2</key>
|
||||
<date>4016-07-0-11<!---
|
||||
Binary file not shown.
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"" http://www.apple.com/DTDs/PropertyList-1.0.dtd<integer>-1</integer>
|
||||
<integnteger>
|
||||
</array>
|
||||
</plist>
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,72 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>Some ASCII string</key>
|
||||
<string>Test ASCII String</string>
|
||||
<key>Some UTF8 strings</key>
|
||||
<array>
|
||||
<string>àéèçù</string>
|
||||
<string>日本語</string>
|
||||
<string>汉语/漢語</string>
|
||||
<string>한국어/조선말</string>
|
||||
<string>русский язык</string>
|
||||
<string>الْعَرَبيّة</string>
|
||||
<string>עִבְרִית</string>
|
||||
<string>język polski</string>
|
||||
<string>हिन्दी</string>
|
||||
</array>
|
||||
<key>Keys & "entities"</key>
|
||||
<string>hellow world & others <nodes> are "fun!?'</string>
|
||||
<key>Boolean</key>
|
||||
<false/>
|
||||
<key>Another Boolean</key>
|
||||
<true/>
|
||||
<key>Some Int</key>
|
||||
<integer>32434543632</integer>
|
||||
<key>Some Real</key>
|
||||
<real>58654.347656</real>
|
||||
<key>Some Date</key>
|
||||
<date>2009-02-12T22:23:00Z</date>
|
||||
<key>Some Data</key>
|
||||
<data>
|
||||
MDEyMzQ1Njc4OVRFU1QwMTIzNDU2Nzg5dGVzdCbDqSInKC3DqF/Dp8OgKT0rwrAkwqMkXsKoKsK1
|
||||
w7klIcKnOi87Liw/Pjx+I3tbfGBcXkBdfcKkCjAxMjM0NTY3ODlURVNUMDEyMzQ1Njc4OXRlc3Qm
|
||||
w6kiJygtw6hfw6fDoCk9K8KwJMKjJF7CqCrCtcO5JSHCpzovOy4sPz48fiN7W3xgXF5AXX3CpAow
|
||||
MTIzNDU2Nzg5VEVTVDAxMjM0NTY3ODl0ZXN0JsOpIicoLcOoX8Onw6ApPSvCsCTCoyRewqgqwrXD
|
||||
uSUhwqc6LzsuLD8+PH4je1t8YFxeQF19wqQKMDEyMzQ1Njc4OVRFU1QwMTIzNDU2Nzg5dGVzdCbD
|
||||
qSInKC3DqF/Dp8OgKT0rwrAkwqMkXsKoKsK1w7klIcKnOi87Liw/Pjx+I3tbfGBcXkBdfcKkCjAx
|
||||
MjM0NTY3ODlURVNUMDEyMzQ1Njc4OXRlc3Qmw6kiJygtw6hfw6fDoCk9K8KwJMKjJF7CqCrCtcO5
|
||||
JSHCpzovOy4sPz48fiN7W3xgXF5AXX3CpAowMTIzNDU2Nzg5VEVTVDAxMjM0NTY3ODl0ZXN0JsOp
|
||||
IicoLcOoX8Onw6ApPSvCsCTCoyRewqgqwrXDuSUhwqc6LzsuLD8+PH4je1t8YFxeQF19wqQKMDEy
|
||||
MzQ1Njc4OVRFU1QwMTIzNDU2Nzg5dGVzdCbDqSInKC3DqF/Dp8OgKT0rwrAkwqMkXsKoKsK1w7kl
|
||||
IcKnOi87Liw/Pjx+I3tbfGBcXkBdfcKkCjAxMjM0NTY3ODlURVNUMDEyMzQ1Njc4OXRlc3Qmw6ki
|
||||
Jygtw6hfw6fDoCk9K8KwJMKjJF7CqCrCtcO5JSHCpzovOy4sPz48fiN7W3xgXF5AXX3CpAowMTIz
|
||||
NDU2Nzg5VEVTVDAxMjM0NTY3ODl0ZXN0JsOpIicoLcOoX8Onw6ApPSvCsCTCoyRewqgqwrXDuSUh
|
||||
wqc6LzsuLD8+PH4je1t8YFxeQF19wqQKMDEyMzQ1Njc4OVRFU1QwMTIzNDU2Nzg5dGVzdCbDqSIn
|
||||
KC3DqF/Dp8OgKT0rwrAkwqMkXsKoKsK1w7klIcKnOi87Liw/Pjx+I3tbfGBcXkBdfcKkCjAxMjM0
|
||||
NTY3ODlURVNUMDEyMzQ1Njc4OXRlc3Qmw6kiJygtw6hfw6fDoCk9K8KwJMKjJF7CqCrCtcO5JSHC
|
||||
pzovOy4sPz48fiN7W3xgXF5AXX3CpAowMTIzNDU2Nzg5VEVTVDAxMjM0NTY3ODl0ZXN0JsOpIico
|
||||
LcOoX8Onw6ApPSvCsCTCoyRewqgqwrXDuSUhwqc6LzsuLD8+PH4je1t8YFxeQF19wqQKMDEyMzQ1
|
||||
Njc4OVRFU1QwMTIzNDU2Nzg5dGVzdCbDqSInKC3DqF/Dp8OgKT0rwrAkwqMkXsKoKsK1w7klIcKn
|
||||
Oi87Liw/Pjx+I3tbfGBcXkBdfcKkCjAxMjM0NTY3ODlURVNUMDEyMzQ1Njc4OXRlc3Qmw6kiJygt
|
||||
w6hfw6fDoCk9K8KwJMKjJF7CqCrCtcO5JSHCpzovOy4sPz48fiN7W3xgXF5AXX3CpAowMTIzNDU2
|
||||
Nzg5VEVTVDAxMjM0NTY3ODl0ZXN0JsOpIicoLcOoX8Onw6ApPSvCsCTCoyRewqgqwrXDuSUhwqc6
|
||||
LzsuLD8+PH4je1t8YFxeQF19wqQKMDEyMzQ1Njc4OVRFU1QwMTIzNDU2Nzg5dGVzdCbDqSInKC3D
|
||||
qF/Dp8OgKT0rwrAkwqMkXsKoKsK1w7klIcKnOi87Liw/Pjx+I3tbfGBcXkBdfcKkCjAxMjM0NTY3
|
||||
ODlURVNUMDEyMzQ1Njc4OXRlc3Qmw6kiJygtw6hfw6fDoCk9K8KwJMKjJF7CqCrCtcO5JSHCpzov
|
||||
Oy4sPz48fiN7W3xgXF5AXX3CpAowMTIzNDU2Nzg5VEVTVDAxMjM0NTY3ODl0ZXN0JsOpIicoLcOo
|
||||
X8Onw6ApPSvCsCTCoyRewqgqwrXDuSUhwqc6LzsuLD8+PH4je1t8YFxeQF19wqQKMDEyMzQ1Njc4
|
||||
OVRFU1QwMTIzNDU2Nzg5dGVzdCbDqSInKC3DqF/Dp8OgKT0rwrAkwqMkXsKoKsK1w7klIcKnOi87
|
||||
Liw/Pjx+I3tbfGBcXkBdfcKkCjAxMjM0NTY3ODlURVNUMDEyMzQ1Njc4OXRlc3Qmw6kiJygtw6hf
|
||||
w6fDoCk9K8KwJMKjJF7CqCrCtcO5JSHCpzovOy4sPz48fiN7W3xgXF5AXX3CpAowMTIzNDU2Nzg5
|
||||
VEVTVDAxMjM0NTY3ODl0ZXN0JsOpIicoLcOoX8Onw6ApPSvCsCTCoyRewqgqwrXDuSUhwqc6Lzsu
|
||||
LD8+PH4je1t8YFxeQF19wqQKMDEyMzQ1Njc4OVRFU1QwMTIzNDU2Nzg5dGVzdCbDqSInKC3DqF/D
|
||||
p8OgKT0rwrAkwqMkXsKoKsK1w7klIcKnOi87Liw/Pjx+I3tbfGBcXkBdfcKkCjAxMjM0NTY3ODlU
|
||||
RVNUMDEyMzQ1Njc4OXRlc3Qmw6kiJygtw6hfw6fDoCk9K8KwJMKjJF7CqCrCtcO5JSHCpzovOy4s
|
||||
Pz48fiN7W3xgXF5AXX3CpAowMTIzNDU2Nzg5VEVTVDAxMjM0NTY3ODl0ZXN0JsOpIicoLcOoX8On
|
||||
w6ApPSvCsCTCoyRewqgqwrXDuSUhwqc6LzsuLD8+PH4je1t8YFxeQF19wqQKMDEyMzQ1Njc4OVRF
|
||||
U1QwMTIzNDU2Nzg5dGVzdCbDqSInKC3DqF/Dp8OgKT0rwrAkwqMkXsKoKsK1w7klIcKnOi87Liw/
|
||||
Pjx+I3tbfGBcXkBdfcKkCjAxMjM0NTY3ODlURVNUMDEyMzQ1Njc4OXRlc3Qmw6kiJygtw6hfw6fD
|
||||
oCk9K8KwJMKjJF7CqCrCtcO5JSHCpzovOy4sPz48fiN7W3xgXF5AXX3CpAowMTIzNDU2Nzg5VEVT
|
||||
VDAxMjM0NTY3ODl0ZXN0JsOpIicoLcOoX8Onw6ApPSvCsCTCoyRewqg
|
||||
@@ -0,0 +1,187 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<plist version="1.0">
|
||||
<plist version="1.0">
|
||||
<plist version="1.0">
|
||||
<plist ve+/v9rsion="1.0">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>Time1</key>
|
||||
<date>2008-07-06T05:04:03Z</date>
|
||||
<key>Time4</key>
|
||||
<date>1162-08-20T01:10:11Z</date>
|
||||
</dict><plist version="1.0">
|
||||
<plist version="1.0">
|
||||
<plist version="1.0">
|
||||
<plist version="1.0">
|
||||
<plist ve+/v9rsion="1.0">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>Time1</key>
|
||||
<date>2008-07-06T05:04:03Z</date>
|
||||
<key>Time4</key>
|
||||
<date>1162-08-20T01:10:11Z</date>
|
||||
</dict><plist version="1.0">
|
||||
<plist version="1.0">
|
||||
<plist version="1.0">
|
||||
<plist version="1.0">
|
||||
<plist ve+/v9rsion="1.0">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>Time1</key>
|
||||
<date>2008-07-06T05:04:03Z</date>
|
||||
<key>Time4</key>
|
||||
<date>1162-08-20T01:10:11Z</date>
|
||||
</dict><plist version="1.0">
|
||||
<plist version="1.0">
|
||||
<plist version="1.0">
|
||||
<plist version="1.0">
|
||||
<plist ve+/v9rsion="1.0">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>Time1</key>
|
||||
<date>2008-07-06T05:04:03Z</date>
|
||||
<key>Time4</key>
|
||||
<date>1162-08-20T01:10:11Z</date>
|
||||
</dict>
|
||||
</plist>
|
||||
</plist>
|
||||
</plist>
|
||||
</plist>
|
||||
</plist></plist>
|
||||
</plist>
|
||||
</plist>
|
||||
</plist>
|
||||
</plist></plist>
|
||||
</plist>
|
||||
</plist>
|
||||
</plist>
|
||||
</plist></plist>
|
||||
</plist><plist version="1.0">
|
||||
<plist ve+/v9rsion="1.0">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>Time1</key>
|
||||
<date>2008-07-06T05:04:03Z</date>
|
||||
<key>Time4</key>
|
||||
<date>1162-08-20T01:10:11Z</date>
|
||||
</dict><plist version="1.0">
|
||||
<plist version="1.0">
|
||||
<plist version="1.0">
|
||||
<plist version="1.0">
|
||||
<plist ve+/v9rsion="1.0">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>Time1</key>
|
||||
<date>2008-07-06T05:04:03Z</date>
|
||||
<key>Time4</key>
|
||||
<date>1162-08-20T01:10:11Z</date>
|
||||
</dict><plist version="1.0">
|
||||
<plist version="1.0">
|
||||
<plist version="1.0">
|
||||
<plist version="1.0">
|
||||
<plist ve+/v9rsion="1.0">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>Time1</key>
|
||||
<date>2008-07-06T05:04:03Z</date>
|
||||
<key>Time4</key>
|
||||
<date>1162-08-20T01:10:11Z</date>
|
||||
</dict><plist version="1.0">
|
||||
<plist version="1.0">
|
||||
<plist version="1.0">
|
||||
<plist version="1.0">
|
||||
<plist ve+/v9rsion="1.0">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>Time1</key>
|
||||
<date>2008-07-06T05:04:03Z</date>
|
||||
<key>Time4</key>
|
||||
<date>1162-08-20T01:10:11Z</date>
|
||||
</dict>
|
||||
</plist>
|
||||
</plist>
|
||||
</plist>
|
||||
</plist>
|
||||
</plist></plist>
|
||||
</plist>
|
||||
</plist>
|
||||
</plist>
|
||||
</plist></plist>
|
||||
</plist>
|
||||
</plist>
|
||||
</plist>
|
||||
</plist></plist>
|
||||
</plist><plist version="1.0">
|
||||
<plist ve+/v9rsion="1.0">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>Time1</key>
|
||||
<date>2008-07-06T05:04:03Z</date>
|
||||
<key>Time4</key>
|
||||
<date>1162-08-20T01:10:11Z</date>
|
||||
</dict><plist version="1.0">
|
||||
<plist version="1.0">
|
||||
<plist version="1.0">
|
||||
<plist version="1.0">
|
||||
<plist ve+/v9rsion="1.0">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>Time1</key>
|
||||
<date>2008-07-06T05:04:03Z</date>
|
||||
<key>Time4</key>
|
||||
<date>1162-08-20T01:10:11Z</date>
|
||||
</dict><plist version="1.0">
|
||||
<plist version="1.0">
|
||||
<plist version="1.0">
|
||||
<plist version="1.0">
|
||||
<plist ve+/v9rsion="1.0">
|
||||
<plist version="1.0">
|
||||
<plist ve+/v9rsion="1.0">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>Time1</key>
|
||||
<date>2008-07-06T05:04:03Z</date>
|
||||
<key>Time4</key>
|
||||
<date>1162-08-20T01:10:11Z</date>
|
||||
</dict><plist version="1.0">
|
||||
<plist version="1.0">
|
||||
<plist version="1.0">
|
||||
<plist version="1.0">
|
||||
<plist ve+/v9rsion="1.0">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>Time1</key>
|
||||
<date>2008-07-06T05:04:03Z</date>
|
||||
<key>Time4</key>
|
||||
<date>1162-08-20T01:10:11Z</date>
|
||||
</dict><plist version="1.0">
|
||||
<plist version="1.0">
|
||||
<plist version="1.0">
|
||||
<plist version="1.0">
|
||||
<plist ve+/v9rsion="1.0">
|
||||
<plist version="1.0">
|
||||
<plist ve+/v9rsion="1.0">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>Time1</key>
|
||||
<date>2008-07-06T05:04:03Z</date>
|
||||
<key>Time4</key>
|
||||
<date>1162-08-20T01:10:11Z</date>
|
||||
</dict><plist version="1.0">
|
||||
<plist version="1.0">
|
||||
<plist version="1.0">
|
||||
<plist version="1.0">
|
||||
<plist ve+/v9rsion="1.0">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>Time1</key>
|
||||
<date>2008-07-06T05:04:03Z</date>
|
||||
<key>Time4</key>
|
||||
<date>1162-08-20T01:10:11Z</date>
|
||||
</dict><plist version="1.0">
|
||||
<plist version="1.0">
|
||||
<plist version="1.0">
|
||||
<plist version="1.0">
|
||||
<plist ve+/v9r
|
||||
@@ -0,0 +1,12 @@
|
||||
<plist version="9223372036854808575.1">
|
||||
<dict>
|
||||
<key><![CDATA[cdata&key]]></key><key><![CDATA[cdata&key]]></key>
|
||||
<plist version="32768.1">
|
||||
<dict>
|
||||
<key><![CDATA[cdata&key]]></key><key><![CDATA[cdatadkey]]></key>
|
||||
<plist version="32768.1">
|
||||
<dict>
|
||||
<key><![CDATA[cdata&key]]></key><key><![CDATA[cdata&key]]></key>
|
||||
<plist version="32768.1">
|
||||
<dict>
|
||||
<key><![CDATA[cdata&key]]></key><key><![CDA
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,6 @@
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>test&</key>
|
||||
<string>value</string>
|
||||
</dict>
|
||||
</plist>
|
||||
@@ -0,0 +1,51 @@
|
||||
################################################################################
|
||||
#
|
||||
# AFL dictionary for XML Property Lists
|
||||
# ----------------------
|
||||
#
|
||||
# Several basic syntax elements and attributes for libplist.
|
||||
#
|
||||
# Created by Nikias Bassen <nikias@gmx.li>
|
||||
# Adapted from libxml2's dict file (created by Michal Zalewski <lcamtuf@google.com>)
|
||||
#
|
||||
|
||||
attr_encoding=" encoding=\"1\""
|
||||
attr_generic=" a=\"1\""
|
||||
attr_version=" version=\"1\""
|
||||
|
||||
entity_builtin="<"
|
||||
entity_decimal=""
|
||||
entity_external="&a;"
|
||||
entity_hex=""
|
||||
|
||||
string_cdata="CDATA"
|
||||
string_dashes="--"
|
||||
string_empty="EMPTY"
|
||||
string_empty_dblquotes="\"\""
|
||||
string_empty_quotes="''"
|
||||
string_parentheses="()"
|
||||
string_pcdata="#PCDATA"
|
||||
string_percent="%a"
|
||||
string_public="PUBLIC"
|
||||
string_utf8="UTF-8"
|
||||
|
||||
tag_cdata="<![CDATA["
|
||||
tag_close="</plist>"
|
||||
tag_doctype="<!DOCTYPE"
|
||||
tag_open="<plist>"
|
||||
tag_open_close="<plist />"
|
||||
tag_open_exclamation="<!"
|
||||
tag_open_q="<?"
|
||||
tag_sq2_close="]]>"
|
||||
tag_xml_q="<?xml?>"
|
||||
tag_array="<array>"
|
||||
tag_data="<data>"
|
||||
tag_date="<date>"
|
||||
tag_dict="<dict>"
|
||||
tag_false="<false/>"
|
||||
tag_integer="<integer>"
|
||||
tag_key="<key>"
|
||||
tag_plist="<plist>"
|
||||
tag_real="<real>"
|
||||
tag_string="<string>"
|
||||
tag_true="<true/>"
|
||||
@@ -0,0 +1,32 @@
|
||||
/*
|
||||
* xplist_fuzzer.cc
|
||||
* XML plist fuzz target for libFuzzer
|
||||
*
|
||||
* Copyright (c) 2017 Nikias Bassen All Rights Reserved.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
#include <plist/plist.h>
|
||||
#include <stdio.h>
|
||||
|
||||
extern "C" int LLVMFuzzerTestOneInput(const unsigned char* data, size_t size)
|
||||
{
|
||||
plist_t root_node = NULL;
|
||||
plist_from_xml(reinterpret_cast<const char*>(data), size, &root_node);
|
||||
plist_free(root_node);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
[libfuzzer]
|
||||
max_len = 4096
|
||||
dict = xplist.dict
|
||||
Reference in New Issue
Block a user