From: Benjamin Peterson Date: Sat, 15 Mar 2014 01:15:29 +0000 (-0500) Subject: cast negative numbers to size_t before shifting them (#20929) X-Git-Tag: v3.4.1rc1~233^2~16 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=bdc4b02985e5d50301c554cb58b7f0ad24b1f68b;p=python cast negative numbers to size_t before shifting them (#20929) --- diff --git a/Include/objimpl.h b/Include/objimpl.h index 9a27ec384f..3f21b70e07 100644 --- a/Include/objimpl.h +++ b/Include/objimpl.h @@ -265,7 +265,7 @@ extern PyGC_Head *_PyGC_generation0; #define _PyGCHead_REFS(g) ((g)->gc.gc_refs >> _PyGC_REFS_SHIFT) #define _PyGCHead_SET_REFS(g, v) do { \ (g)->gc.gc_refs = ((g)->gc.gc_refs & ~_PyGC_REFS_MASK) \ - | (v << _PyGC_REFS_SHIFT); \ + | (((size_t)(v)) << _PyGC_REFS_SHIFT); \ } while (0) #define _PyGCHead_DECREF(g) ((g)->gc.gc_refs -= 1 << _PyGC_REFS_SHIFT) diff --git a/Misc/NEWS b/Misc/NEWS index 91c669382c..dd5d7da83b 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -8,6 +8,8 @@ What's New in Python 3.4.1? Core and Builtins ----------------- +- Issue #20929: Add a type cast to avoid shifting a negative number. + - Issue #20731: Properly position in source code files even if they are opened in text mode. Patch by Serhiy Storchaka.