bpo-36389: _PyObject_CheckConsistency() available in release mode (GH… · python/cpython@6876257

@@ -3206,10 +3206,10 @@ _PyBytesWriter_GetSize(_PyBytesWriter *writer, char *str)

32063206

return str - start;

32073207

}

320832083209-

Py_LOCAL_INLINE(void)

3209+

#ifndef NDEBUG

3210+

Py_LOCAL_INLINE(int)

32103211

_PyBytesWriter_CheckConsistency(_PyBytesWriter *writer, char *str)

32113212

{

3212-

#ifdef Py_DEBUG

32133213

char *start, *end;

3214321432153215

if (writer->use_small_buffer) {

@@ -3239,15 +3239,16 @@ _PyBytesWriter_CheckConsistency(_PyBytesWriter *writer, char *str)

32393239

end = start + writer->allocated;

32403240

assert(str != NULL);

32413241

assert(start <= str && str <= end);

3242-

#endif

3242+

return 1;

32433243

}

3244+

#endif

3244324532453246

void*

32463247

_PyBytesWriter_Resize(_PyBytesWriter *writer, void *str, Py_ssize_t size)

32473248

{

32483249

Py_ssize_t allocated, pos;

324932503250-

_PyBytesWriter_CheckConsistency(writer, str);

3251+

assert(_PyBytesWriter_CheckConsistency(writer, str));

32513252

assert(writer->allocated < size);

3252325332533254

allocated = size;

@@ -3303,7 +3304,7 @@ _PyBytesWriter_Resize(_PyBytesWriter *writer, void *str, Py_ssize_t size)

33033304

writer->allocated = allocated;

3304330533053306

str = _PyBytesWriter_AsString(writer) + pos;

3306-

_PyBytesWriter_CheckConsistency(writer, str);

3307+

assert(_PyBytesWriter_CheckConsistency(writer, str));

33073308

return str;

3308330933093310

error:

@@ -3316,7 +3317,7 @@ _PyBytesWriter_Prepare(_PyBytesWriter *writer, void *str, Py_ssize_t size)

33163317

{

33173318

Py_ssize_t new_min_size;

331833193319-

_PyBytesWriter_CheckConsistency(writer, str);

3320+

assert(_PyBytesWriter_CheckConsistency(writer, str));

33203321

assert(size >= 0);

3321332233223323

if (size == 0) {

@@ -3377,7 +3378,7 @@ _PyBytesWriter_Finish(_PyBytesWriter *writer, void *str)

33773378

Py_ssize_t size;

33783379

PyObject *result;

337933803380-

_PyBytesWriter_CheckConsistency(writer, str);

3381+

assert(_PyBytesWriter_CheckConsistency(writer, str));

3381338233823383

size = _PyBytesWriter_GetSize(writer, str);

33833384

if (size == 0 && !writer->use_bytearray) {