found 902036 1.9.4.post1+dfsg-1 tags 902036 +patch thanks
On 30/10/18 02:03, peter green wrote:
Unfortunately while the 1.9.4.post1+dfsg-1 upload fixed the ppc64el failure, it did not fix the s390x failure.
I just took a look at this, turned out to be a typo in a #if causing a 32-bit value to be written to a 64-bit variable. The variable was initialized to zero earlier, so we got away with this on little endian 64-bit but on big endian 64-bit it resulted in the value being 4294967296 times larger than it should be which resulted in an out of range error. Debdiff attached, no immediate intent to NMU.
diff -Nru pygame-1.9.4.post1+dfsg/debian/changelog pygame-1.9.4.post1+dfsg/debian/changelog --- pygame-1.9.4.post1+dfsg/debian/changelog 2018-10-28 13:09:16.000000000 +0000 +++ pygame-1.9.4.post1+dfsg/debian/changelog 2018-10-30 03:03:07.000000000 +0000 @@ -1,3 +1,10 @@ +pygame (1.9.4.post1+dfsg-1.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Fix a typo that breaks bufferproxy on 64-bit big endian. + + -- Peter Michael Green <plugw...@debian.org> Tue, 30 Oct 2018 03:03:07 +0000 + pygame (1.9.4.post1+dfsg-1) unstable; urgency=high [ Ondřej Nový ] diff -Nru pygame-1.9.4.post1+dfsg/debian/patches/fix-bufferproxy-be64.patch pygame-1.9.4.post1+dfsg/debian/patches/fix-bufferproxy-be64.patch --- pygame-1.9.4.post1+dfsg/debian/patches/fix-bufferproxy-be64.patch 1970-01-01 00:00:00.000000000 +0000 +++ pygame-1.9.4.post1+dfsg/debian/patches/fix-bufferproxy-be64.patch 2018-10-30 03:03:07.000000000 +0000 @@ -0,0 +1,22 @@ +Description: Fix a typo that breaks bufferproxy on 64-bit big endian. + A typo in a #if caused a wrong definition of ARG_FORMAT to be used + leading to reading a 32-bit value into a 64-bit variable on 64 bit + systems. + + On little endian we got away with this because the 64-bit value is + initialised to zero. However on big endian this resulted in a value + 4294967296 times larger than it should be which resulted in an out + of range error. +Author: Peter Michael Green <plugw...@debian.org> + +--- pygame-1.9.4.post1+dfsg.orig/src/bufferproxy.c ++++ pygame-1.9.4.post1+dfsg/src/bufferproxy.c +@@ -479,7 +479,7 @@ proxy_write(PgBufproxyObject *self, PyOb + Py_ssize_t offset = 0; + char *keywords[] = {"buffer", "offset", 0}; + +-#if Py_VERSION_HEX >= 0x02050000 ++#if PY_VERSION_HEX >= 0x02050000 + #define ARG_FORMAT "s#|n" + #else + #define ARG_FORMAT "s#|i" /* In this case Py_ssize_t is an int */ diff -Nru pygame-1.9.4.post1+dfsg/debian/patches/series pygame-1.9.4.post1+dfsg/debian/patches/series --- pygame-1.9.4.post1+dfsg/debian/patches/series 2018-10-28 13:09:16.000000000 +0000 +++ pygame-1.9.4.post1+dfsg/debian/patches/series 2018-10-30 03:03:07.000000000 +0000 @@ -5,3 +5,4 @@ arithmetic_fixes.patch fix_sphinx_unicode.patch skip_flaky_tests_on_le.patch +fix-bufferproxy-be64.patch