🌐 AI搜索 & 代理 主页
Skip to content

Commit 439f763

Browse files
kostayScrngoldbaum
andauthored
BUG: fix datetime/timedelta hash memory leak (#29411)
* BUG: fix datetime/timedelta hash memory leak * get metadata directly from scalar object Co-authored-by: Nathan Goldbaum <nathan.goldbaum@gmail.com> * BUG: remove unnecessary Py_DECREF Co-authored-by: Nathan Goldbaum <nathan.goldbaum@gmail.com> * BUG: remove dtype variable declaration that is not used anymore --------- Co-authored-by: Nathan Goldbaum <nathan.goldbaum@gmail.com>
1 parent f45f828 commit 439f763

File tree

1 file changed

+3
-4
lines changed

1 file changed

+3
-4
lines changed

numpy/_core/src/multiarray/scalartypes.c.src

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3911,18 +3911,17 @@ static npy_hash_t
39113911
@lname@_arrtype_hash(PyObject *obj)
39123912
{
39133913
PyArray_DatetimeMetaData *meta;
3914-
PyArray_Descr *dtype;
39153914
npy_@lname@ val = PyArrayScalar_VAL(obj, @name@);
39163915

39173916
if (val == NPY_DATETIME_NAT) {
39183917
/* Use identity, similar to NaN */
39193918
return PyBaseObject_Type.tp_hash(obj);
39203919
}
39213920

3922-
dtype = PyArray_DescrFromScalar(obj);
3923-
meta = get_datetime_metadata_from_dtype(dtype);
3921+
meta = &((PyDatetimeScalarObject *)obj)->obmeta;
39243922

3925-
return @lname@_hash(meta, val);
3923+
npy_hash_t res = @lname@_hash(meta, val);
3924+
return res;
39263925
}
39273926
/**end repeat**/
39283927

0 commit comments

Comments
 (0)