[issue9888] int overflow in datetime causes seg fault from datetime.ctime()

Brian Bernstein report at bugs.python.org
Fri Sep 17 23:31:57 CEST 2010


Brian Bernstein <bernie9998 at gmail.com> added the comment:

After further investigation, it appears the cause is the ability to overflow the datetime object by almost a year.  I've modified the test to demonstrate this relative to the current date:

from datetime import date, datetime, timedelta
(datetime.now()-timedelta((date.today()-date(1,1,1)).days+364)).ctime()

It seems the date can be overflowed by up to a year without throwing an Exception.  The result of which is a seg fault when calling the bound ctime method.

Note that anything above 364 results in OverFlowError.  Below 18 still overflows, but does not seg fault, instead resulting in a weird result,e.g.:
'Tue (null) 240 17:25:37 0001'

I'll update the script to demonstrate the edge cases where this occurs.

----------
Added file: http://bugs.python.org/file18910/segfault.py

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue9888>
_______________________________________


More information about the Python-bugs-list mailing list