summaryrefslogtreecommitdiff
path: root/tests/cert-tests
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@redhat.com>2017-02-20 11:01:07 +0100
committerNikos Mavrogiannopoulos <nmav@redhat.com>2017-02-20 11:01:07 +0100
commit5a0ca421c6be08682a49077d623d32e8cdea7274 (patch)
tree46f72d9639092f9ea6e219b4f1306c3559b9399a /tests/cert-tests
parentf4224c483b1f6a0c648fa842d25ecb47995d82fb (diff)
downloadgnutls-5a0ca421c6be08682a49077d623d32e8cdea7274.tar.gz
tests: added test case with invalid openpgp cert
That triggers a heap buffer overflow: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=420 Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Diffstat (limited to 'tests/cert-tests')
-rw-r--r--tests/cert-tests/Makefile.am3
-rw-r--r--tests/cert-tests/data/openpgp-invalid5.pub1
-rwxr-xr-xtests/cert-tests/openpgp-cert-parser2
3 files changed, 4 insertions, 2 deletions
diff --git a/tests/cert-tests/Makefile.am b/tests/cert-tests/Makefile.am
index 3491a77a6f..f2d498307d 100644
--- a/tests/cert-tests/Makefile.am
+++ b/tests/cert-tests/Makefile.am
@@ -63,7 +63,8 @@ EXTRA_DIST = data/ca-no-pathlen.pem data/no-ca-or-pathlen.pem data/aki-cert.pem
data/pkcs7-cat-ca.pem data/pkcs7-cat.p7 data/openssl.p7b data/openssl.p7b.out \
data/openssl-keyid.p7b data/openssl-keyid.p7b.out data/openssl.p12 \
data/openpgp-invalid1.pub data/openpgp-invalid2.pub data/openpgp-invalid3.pub \
- data/x509-v1-with-sid.pem data/x509-v1-with-iid.pem data/x509-v3-with-fractional-time.pem
+ data/x509-v1-with-sid.pem data/x509-v1-with-iid.pem data/x509-v3-with-fractional-time.pem \
+ data/openpgp-invalid5.pub
dist_check_SCRIPTS = pathlen aki certtool invalid-sig email \
pkcs7 pkcs7-broken-sigs privkey-import name-constraints certtool-long-cn crl provable-privkey \
diff --git a/tests/cert-tests/data/openpgp-invalid5.pub b/tests/cert-tests/data/openpgp-invalid5.pub
new file mode 100644
index 0000000000..a4b6f5ff56
--- /dev/null
+++ b/tests/cert-tests/data/openpgp-invalid5.pub
@@ -0,0 +1 @@
+ÍÿÿÿÿÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÌÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ ÍÍÍÍÍÍÍÍÍÍ ÿÿÿÿÿÿÿÿ \ No newline at end of file
diff --git a/tests/cert-tests/openpgp-cert-parser b/tests/cert-tests/openpgp-cert-parser
index d5c30f23fd..e3d7d88179 100755
--- a/tests/cert-tests/openpgp-cert-parser
+++ b/tests/cert-tests/openpgp-cert-parser
@@ -41,7 +41,7 @@ fail() {
echo "Checking OpenPGP certificate parsing"
for i in "truncated.pub" "attribute-leak-1.pub" "subpkt-leak.pub" "openpgp-invalid1.pub" \
- "openpgp-invalid2.pub" "openpgp-invalid3.pub" "openpgp-invalid4.pub";do
+ "openpgp-invalid2.pub" "openpgp-invalid3.pub" "openpgp-invalid4.pub" "openpgp-invalid5.pub";do
${VALGRIND} "${CERTTOOL}" --inraw --pgp-certificate-info --infile "${srcdir}/data/${i}"
rc=$?
if test $rc != 1;then