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

Reply via email to