@@ -3268,7 +3268,10 @@ date_fromtimestamp(PyObject *cls, PyObject *obj)
32683268 cls );
32693269 int normalize = 1 , negate = 0 ;
32703270 PyObject * delta = new_delta (0 , (int )t , 0 , normalize );
3271- return add_date_timedelta (PyDate_CAST (date ), PyDelta_CAST (delta ), negate );
3271+ PyObject * result = add_date_timedelta (PyDate_CAST (date ), PyDelta_CAST (delta ), negate );
3272+ Py_XDECREF (delta );
3273+ Py_XDECREF (date );
3274+ return result ;
32723275 }
32733276#endif
32743277
@@ -5554,10 +5557,13 @@ datetime_from_timestamp(PyObject *cls, TM_FUNC f, PyObject *timestamp,
55545557
55555558#ifdef MS_WINDOWS
55565559 if (timet < 0 ) {
5557- int normalize = 1 , factor = 1 ;
5558- PyObject * dt = datetime_from_timet_and_us (cls , f , 0 , 0 , tzinfo );
5559- PyObject * delta = new_delta (0 , (int )timet , us , normalize );
5560- return add_datetime_timedelta (PyDateTime_CAST (dt ), PyDelta_CAST (delta ), factor );
5560+ int normalize = 1 , factor = 1 ;
5561+ PyObject * dt = datetime_from_timet_and_us (cls , f , 0 , 0 , tzinfo );
5562+ PyObject * delta = new_delta (0 , (int )timet , us , normalize );
5563+ PyObject * result = add_datetime_timedelta (PyDateTime_CAST (dt ), PyDelta_CAST (delta ), factor );
5564+ Py_XDECREF (delta );
5565+ Py_XDECREF (dt );
5566+ return result ;
55615567 }
55625568#endif
55635569
0 commit comments