• Tim Peters's avatar
    Bug #1521947: possible bug in mystrtol.c with recent gcc. · bc24eee3
    Tim Peters yazdı
    In general, C doesn't define anything about what happens when
    an operation on a signed integral type overflows, and PyOS_strtol()
    did several formally undefined things of that nature on signed
    longs.  Some version of gcc apparently tries to exploit that now,
    and PyOS_strtol() could fail to detect overflow then.
    
    Tried to repair all that, although it seems at least as likely to me
    that we'll get screwed by bad platform definitions for LONG_MIN
    and/or LONG_MAX now.  For that reason, I don't recommend backporting
    this.
    
    Note that I have no box on which this makes a lick of difference --
    can't really test it, except to note that it didn't break anything
    on my boxes.
    
    Silent change:  PyOS_strtol() used to return the hard-coded 0x7fffffff
    in case of overflow.  Now it returns LONG_MAX.  They're the same only on
    32-bit boxes (although C doesn't guarantee that either ...).
    bc24eee3
Adı
Son kayıt (commit)
Son güncelleme
Demo Loading commit data...
Doc Loading commit data...
Grammar Loading commit data...
Include Loading commit data...
Lib Loading commit data...
Mac Loading commit data...
Misc Loading commit data...
Modules Loading commit data...
Objects Loading commit data...
PC Loading commit data...
PCbuild Loading commit data...
PCbuild8 Loading commit data...
Parser Loading commit data...
Python Loading commit data...
RISCOS Loading commit data...
Tools Loading commit data...
.hgtags Loading commit data...
LICENSE Loading commit data...
Makefile.pre.in Loading commit data...
README Loading commit data...
configure Loading commit data...
configure.in Loading commit data...
install-sh Loading commit data...
pyconfig.h.in Loading commit data...
setup.py Loading commit data...