From a07da09ad5bd7d234ccd084a3a0933c290d1b592 Mon Sep 17 00:00:00 2001 From: Raymond Hettinger Date: Thu, 22 Apr 2021 08:34:57 -0700 Subject: bpo-43475: Fix worst case collision behavior for NaN instances (GH-25493) --- Modules/_decimal/_decimal.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) (limited to 'Modules/_decimal/_decimal.c') diff --git a/Modules/_decimal/_decimal.c b/Modules/_decimal/_decimal.c index 9a4329f494..9b89fa40c9 100644 --- a/Modules/_decimal/_decimal.c +++ b/Modules/_decimal/_decimal.c @@ -4536,7 +4536,6 @@ _dec_hash(PyDecObject *v) #error "No valid combination of CONFIG_64, CONFIG_32 and _PyHASH_BITS" #endif const Py_hash_t py_hash_inf = 314159; - const Py_hash_t py_hash_nan = 0; mpd_uint_t ten_data[1] = {10}; mpd_t ten = {MPD_POS|MPD_STATIC|MPD_CONST_DATA, 0, 2, 1, 1, ten_data}; @@ -4555,7 +4554,7 @@ _dec_hash(PyDecObject *v) return -1; } else if (mpd_isnan(MPD(v))) { - return py_hash_nan; + return _Py_HashPointer(v); } else { return py_hash_inf * mpd_arith_sign(MPD(v)); @@ -5939,5 +5938,3 @@ error: return NULL; /* GCOV_NOT_REACHED */ } - - -- cgit v1.2.1