• Tim Peters's avatar
    Critical fix: if cPickle on a sizeof(long)==8 box is used to read a · e93cc859
    Tim Peters authored
    binary pickle, and the latter contains a pickle of a negative Python
    int i written on a sizeof(long)==4 box (and whether by cPickle or
    pickle.py), it's read incorrectly as i + 2**32.  The patch repairs that,
    and allows test_cpickle.py (to which I added a relevant test case earlier
    today) to work again on sizeof(long)==8 boxes.
    There's another (at least one) sizeof(long)==8 binary pickle bug, but in
    pickle.py instead.  That bug is still there, and test_pickle.py doesn't
    catch it yet (try pickling and unpickling, e.g., 1 << 46).
    e93cc859
cPickle.c 107 KB