Issue #21233: Fix _PyObject_Alloc() when compiled with WITH_VALGRIND defined
diff --git a/Objects/obmalloc.c b/Objects/obmalloc.c
index e16a1db..af2bab0 100644
--- a/Objects/obmalloc.c
+++ b/Objects/obmalloc.c
@@ -1176,6 +1176,9 @@
_Py_AllocatedBlocks++;
+ assert(nelem <= PY_SSIZE_T_MAX / elsize);
+ nbytes = nelem * elsize;
+
#ifdef WITH_VALGRIND
if (UNLIKELY(running_on_valgrind == -1))
running_on_valgrind = RUNNING_ON_VALGRIND;
@@ -1183,9 +1186,6 @@
goto redirect;
#endif
- assert(nelem <= PY_SSIZE_T_MAX / elsize);
- nbytes = nelem * elsize;
-
if (nelem == 0 || elsize == 0)
goto redirect;