From: Victor Stinner Date: Tue, 6 May 2014 09:32:29 +0000 (+0200) Subject: Issue #21233: Fix _PyObject_Alloc() when compiled with WITH_VALGRIND defined X-Git-Tag: v3.5.0a1~1731 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=3080d926afca339eb392fffa46498b52eead3a16;p=thirdparty%2FPython%2Fcpython.git Issue #21233: Fix _PyObject_Alloc() when compiled with WITH_VALGRIND defined --- diff --git a/Objects/obmalloc.c b/Objects/obmalloc.c index e16a1db808d5..af2bab07b294 100644 --- a/Objects/obmalloc.c +++ b/Objects/obmalloc.c @@ -1176,6 +1176,9 @@ _PyObject_Alloc(int use_calloc, void *ctx, size_t nelem, size_t elsize) _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 @@ _PyObject_Alloc(int use_calloc, void *ctx, size_t nelem, size_t elsize) goto redirect; #endif - assert(nelem <= PY_SSIZE_T_MAX / elsize); - nbytes = nelem * elsize; - if (nelem == 0 || elsize == 0) goto redirect;