diff --git a/python-pyOpenSSL-always-overflow.patch b/python-pyOpenSSL-always-overflow.patch new file mode 100644 index 0000000..ff36195 --- /dev/null +++ b/python-pyOpenSSL-always-overflow.patch @@ -0,0 +1,30 @@ +From b3460c6a9a45a016d1ab65c149c606fa3f07096d Mon Sep 17 00:00:00 2001 +From: Alex Gaynor +Date: Thu, 6 Jul 2017 22:40:40 -0400 +Subject: [PATCH] Fixed #657 -- handle OverflowErrors on large allocation + requests (#659) + +* Fixed #657 -- handle OverflowErrors on large allocation requests + +* always be overflowing + +diff --git a/tests/test_rand.py b/tests/test_rand.py +index bdd3af0..41a4f27 100644 +--- a/tests/test_rand.py ++++ b/tests/test_rand.py +@@ -32,11 +32,11 @@ class TestRand(object): + + def test_insufficient_memory(self): + """ +- `OpenSSL.rand.bytes` raises `MemoryError` if more bytes are requested +- than will fit in memory. ++ `OpenSSL.rand.bytes` raises `MemoryError` or `OverflowError` if more ++ bytes are requested than will fit in memory. + """ +- with pytest.raises(MemoryError): +- rand.bytes(sys.maxsize) ++ with pytest.raises((MemoryError, OverflowError)): ++ rand.bytes(sys.maxsize + 1) + + def test_bytes(self): + """ diff --git a/python-pyOpenSSL.changes b/python-pyOpenSSL.changes index 416357f..f87c40c 100644 --- a/python-pyOpenSSL.changes +++ b/python-pyOpenSSL.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Thu Aug 10 11:38:17 CEST 2017 - ro@suse.de + +- add patch to always trigger overflow in the testsuite + (gh#pyca/pyopenssl#657) b3460c6a9a45a016d1ab65c149c606fa3f07096d + + python-pyOpenSSL-always-overflow.patch + ------------------------------------------------------------------- Tue Jun 13 07:05:41 UTC 2017 - dimstar@opensuse.org diff --git a/python-pyOpenSSL.spec b/python-pyOpenSSL.spec index 206ec47..bd091da 100644 --- a/python-pyOpenSSL.spec +++ b/python-pyOpenSSL.spec @@ -33,6 +33,8 @@ Patch1: skip-networked-test.patch Patch2: rsa128-i586.patch # PATCH-FIX-UPSTREAM python-pyOpenSSL=replace-expired-cert.patch gh#pyca/pyopenssl#637 dimstar@opensuse.org -- the root cert expired Patch3: python-pyOpenSSL=replace-expired-cert.patch +# PATCH-FIX-UPSTREAM python-pyOpenSSL-always-overflow.patch gh#pyca/pyopenssl#657 ro@suse.de - always trigger overflow in testsuite +Patch4: python-pyOpenSSL-always-overflow.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: %{python_module cryptography >= 1.3.4} BuildRequires: %{python_module devel} @@ -75,6 +77,7 @@ Provides documentation for %{name}. %patch1 -p1 %patch2 -p1 %patch3 -p1 +%patch4 -p1 %build %python_build