gh-129813, PEP 782: Use Py_GetConstant(Py_CONSTANT_EMPTY_BYTES) (#138830)
Replace PyBytes_FromStringAndSize(NULL, 0) with Py_GetConstant(Py_CONSTANT_EMPTY_BYTES). Py_GetConstant() cannot fail.
This commit is contained in:
@@ -669,9 +669,7 @@ _bz2_BZ2Decompressor_impl(PyTypeObject *type)
|
|||||||
self->bzs_avail_in_real = 0;
|
self->bzs_avail_in_real = 0;
|
||||||
self->input_buffer = NULL;
|
self->input_buffer = NULL;
|
||||||
self->input_buffer_size = 0;
|
self->input_buffer_size = 0;
|
||||||
self->unused_data = PyBytes_FromStringAndSize(NULL, 0);
|
self->unused_data = Py_GetConstant(Py_CONSTANT_EMPTY_BYTES);
|
||||||
if (self->unused_data == NULL)
|
|
||||||
goto error;
|
|
||||||
|
|
||||||
bzerror = BZ2_bzDecompressInit(&self->bzs, 0, 0);
|
bzerror = BZ2_bzDecompressInit(&self->bzs, 0, 0);
|
||||||
if (catch_bz2_error(bzerror))
|
if (catch_bz2_error(bzerror))
|
||||||
|
|||||||
@@ -450,10 +450,7 @@ _dbm_dbm_setdefault_impl(dbmobject *self, PyTypeObject *cls, const char *key,
|
|||||||
return PyBytes_FromStringAndSize(val.dptr, val.dsize);
|
return PyBytes_FromStringAndSize(val.dptr, val.dsize);
|
||||||
}
|
}
|
||||||
if (default_value == NULL) {
|
if (default_value == NULL) {
|
||||||
default_value = PyBytes_FromStringAndSize(NULL, 0);
|
default_value = Py_GetConstant(Py_CONSTANT_EMPTY_BYTES);
|
||||||
if (default_value == NULL) {
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
val.dptr = NULL;
|
val.dptr = NULL;
|
||||||
val.dsize = 0;
|
val.dsize = 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1263,10 +1263,7 @@ _lzma_LZMADecompressor_impl(PyTypeObject *type, int format,
|
|||||||
self->needs_input = 1;
|
self->needs_input = 1;
|
||||||
self->input_buffer = NULL;
|
self->input_buffer = NULL;
|
||||||
self->input_buffer_size = 0;
|
self->input_buffer_size = 0;
|
||||||
Py_XSETREF(self->unused_data, PyBytes_FromStringAndSize(NULL, 0));
|
Py_XSETREF(self->unused_data, Py_GetConstant(Py_CONSTANT_EMPTY_BYTES));
|
||||||
if (self->unused_data == NULL) {
|
|
||||||
goto error;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (format) {
|
switch (format) {
|
||||||
case FORMAT_AUTO:
|
case FORMAT_AUTO:
|
||||||
|
|||||||
@@ -1009,7 +1009,7 @@ zlib_Compress_flush_impl(compobject *self, PyTypeObject *cls, int mode)
|
|||||||
/* Flushing with Z_NO_FLUSH is a no-op, so there's no point in
|
/* Flushing with Z_NO_FLUSH is a no-op, so there's no point in
|
||||||
doing any work at all; just return an empty string. */
|
doing any work at all; just return an empty string. */
|
||||||
if (mode == Z_NO_FLUSH) {
|
if (mode == Z_NO_FLUSH) {
|
||||||
return PyBytes_FromStringAndSize(NULL, 0);
|
return Py_GetConstant(Py_CONSTANT_EMPTY_BYTES);
|
||||||
}
|
}
|
||||||
|
|
||||||
ENTER_ZLIB(self);
|
ENTER_ZLIB(self);
|
||||||
@@ -1764,11 +1764,7 @@ zlib__ZlibDecompressor_impl(PyTypeObject *type, int wbits, PyObject *zdict)
|
|||||||
self->zst.zfree = PyZlib_Free;
|
self->zst.zfree = PyZlib_Free;
|
||||||
self->zst.next_in = NULL;
|
self->zst.next_in = NULL;
|
||||||
self->zst.avail_in = 0;
|
self->zst.avail_in = 0;
|
||||||
self->unused_data = PyBytes_FromStringAndSize(NULL, 0);
|
self->unused_data = Py_GetConstant(Py_CONSTANT_EMPTY_BYTES);
|
||||||
if (self->unused_data == NULL) {
|
|
||||||
Py_CLEAR(self);
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
self->lock = PyThread_allocate_lock();
|
self->lock = PyThread_allocate_lock();
|
||||||
if (self->lock == NULL) {
|
if (self->lock == NULL) {
|
||||||
Py_DECREF(self);
|
Py_DECREF(self);
|
||||||
|
|||||||
@@ -2785,7 +2785,7 @@ bytes_new_impl(PyTypeObject *type, PyObject *x, const char *encoding,
|
|||||||
"errors without a string argument");
|
"errors without a string argument");
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
bytes = PyBytes_FromStringAndSize(NULL, 0);
|
bytes = Py_GetConstant(Py_CONSTANT_EMPTY_BYTES);
|
||||||
}
|
}
|
||||||
else if (encoding != NULL) {
|
else if (encoding != NULL) {
|
||||||
/* Encode via the codec registry */
|
/* Encode via the codec registry */
|
||||||
@@ -3680,7 +3680,7 @@ _PyBytesWriter_Finish(_PyBytesWriter *writer, void *str)
|
|||||||
if (size == 0 && !writer->use_bytearray) {
|
if (size == 0 && !writer->use_bytearray) {
|
||||||
Py_CLEAR(writer->buffer);
|
Py_CLEAR(writer->buffer);
|
||||||
/* Get the empty byte string singleton */
|
/* Get the empty byte string singleton */
|
||||||
result = PyBytes_FromStringAndSize(NULL, 0);
|
result = Py_GetConstant(Py_CONSTANT_EMPTY_BYTES);
|
||||||
}
|
}
|
||||||
else if (writer->use_small_buffer) {
|
else if (writer->use_small_buffer) {
|
||||||
if (writer->use_bytearray) {
|
if (writer->use_bytearray) {
|
||||||
|
|||||||
@@ -4913,7 +4913,7 @@ _PyUnicode_EncodeUTF7(PyObject *str,
|
|||||||
len = PyUnicode_GET_LENGTH(str);
|
len = PyUnicode_GET_LENGTH(str);
|
||||||
|
|
||||||
if (len == 0)
|
if (len == 0)
|
||||||
return PyBytes_FromStringAndSize(NULL, 0);
|
return Py_GetConstant(Py_CONSTANT_EMPTY_BYTES);
|
||||||
|
|
||||||
/* It might be possible to tighten this worst case */
|
/* It might be possible to tighten this worst case */
|
||||||
if (len > PY_SSIZE_T_MAX / 8)
|
if (len > PY_SSIZE_T_MAX / 8)
|
||||||
@@ -6914,7 +6914,7 @@ PyUnicode_AsUnicodeEscapeString(PyObject *unicode)
|
|||||||
|
|
||||||
len = PyUnicode_GET_LENGTH(unicode);
|
len = PyUnicode_GET_LENGTH(unicode);
|
||||||
if (len == 0) {
|
if (len == 0) {
|
||||||
return PyBytes_FromStringAndSize(NULL, 0);
|
return Py_GetConstant(Py_CONSTANT_EMPTY_BYTES);
|
||||||
}
|
}
|
||||||
|
|
||||||
kind = PyUnicode_KIND(unicode);
|
kind = PyUnicode_KIND(unicode);
|
||||||
@@ -7364,7 +7364,7 @@ unicode_encode_ucs1(PyObject *unicode,
|
|||||||
/* allocate enough for a simple encoding without
|
/* allocate enough for a simple encoding without
|
||||||
replacements, if we need more, we'll resize */
|
replacements, if we need more, we'll resize */
|
||||||
if (size == 0)
|
if (size == 0)
|
||||||
return PyBytes_FromStringAndSize(NULL, 0);
|
return Py_GetConstant(Py_CONSTANT_EMPTY_BYTES);
|
||||||
|
|
||||||
_PyBytesWriter_Init(&writer);
|
_PyBytesWriter_Init(&writer);
|
||||||
str = _PyBytesWriter_Alloc(&writer, size);
|
str = _PyBytesWriter_Alloc(&writer, size);
|
||||||
@@ -8305,7 +8305,7 @@ encode_code_page(int code_page,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (len == 0)
|
if (len == 0)
|
||||||
return PyBytes_FromStringAndSize(NULL, 0);
|
return Py_GetConstant(Py_CONSTANT_EMPTY_BYTES);
|
||||||
|
|
||||||
offset = 0;
|
offset = 0;
|
||||||
do
|
do
|
||||||
|
|||||||
Reference in New Issue
Block a user