mirror of https://github.com/python/cpython.git
Fix SF 588452: debug build crashes on marshal.dumps([128] * 1000).
See there for a description. Added test case. Bugfix candidate for 2.2.x, not sure about previous versions: probably low priority, because virtually no one runs debug builds.
This commit is contained in:
parent
a6255238b2
commit
3e1c18ad0c
|
@ -39,3 +39,6 @@ def to_little_endian_string(value, nbytes):
|
|||
base = 0
|
||||
else:
|
||||
base >>= 1
|
||||
|
||||
# Simple-minded check for SF 588452: Debug build crashes
|
||||
marshal.dumps([128] * 1000)
|
||||
|
|
|
@ -84,17 +84,17 @@ w_string(char *s, int n, WFILE *p)
|
|||
static void
|
||||
w_short(int x, WFILE *p)
|
||||
{
|
||||
w_byte( x & 0xff, p);
|
||||
w_byte((x>> 8) & 0xff, p);
|
||||
w_byte((char)( x & 0xff), p);
|
||||
w_byte((char)((x>> 8) & 0xff), p);
|
||||
}
|
||||
|
||||
static void
|
||||
w_long(long x, WFILE *p)
|
||||
{
|
||||
w_byte((int)( x & 0xff), p);
|
||||
w_byte((int)((x>> 8) & 0xff), p);
|
||||
w_byte((int)((x>>16) & 0xff), p);
|
||||
w_byte((int)((x>>24) & 0xff), p);
|
||||
w_byte((char)( x & 0xff), p);
|
||||
w_byte((char)((x>> 8) & 0xff), p);
|
||||
w_byte((char)((x>>16) & 0xff), p);
|
||||
w_byte((char)((x>>24) & 0xff), p);
|
||||
}
|
||||
|
||||
#if SIZEOF_LONG > 4
|
||||
|
|
Loading…
Reference in New Issue