[Python-checkins] cpython (3.5): Issue #25221: Fix corrupted result from PyLong_FromLong(0) when Python is

mark.dickinson python-checkins at python.org
Sat Sep 10 15:20:20 EDT 2016


https://hg.python.org/cpython/rev/9eb0f7762999
changeset: 103578:9eb0f7762999
branch: 3.5
parent: 103576:dbfcb3b9c3c1
user: Mark Dickinson <dickinsm at gmail.com>
date: Sat Sep 10 20:17:36 2016 +0100
summary:
 Issue #25221: Fix corrupted result from PyLong_FromLong(0) when Python is compiled with NSMALLPOSINTS = 0.
files:
 Misc/NEWS | 3 +++
 Objects/longobject.c | 3 ++-
 2 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -10,6 +10,9 @@
 Core and Builtins
 -----------------
 
+- Issue #25221: Fix corrupted result from PyLong_FromLong(0) when
+ Python is compiled with NSMALLPOSINTS = 0.
+
 - Issue #25758: Prevents zipimport from unnecessarily encoding a filename
 (patch by Eryk Sun)
 
diff --git a/Objects/longobject.c b/Objects/longobject.c
--- a/Objects/longobject.c
+++ b/Objects/longobject.c
@@ -234,7 +234,7 @@
 unsigned long abs_ival;
 unsigned long t; /* unsigned so >> doesn't propagate sign bit */
 int ndigits = 0;
- int sign = 1;
+ int sign;
 
 CHECK_SMALL_INT(ival);
 
@@ -246,6 +246,7 @@
 }
 else {
 abs_ival = (unsigned long)ival;
+ sign = ival == 0 ? 0 : 1;
 }
 
 /* Fast path for single-digit ints */
-- 
Repository URL: https://hg.python.org/cpython


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /