Commit 3466bde1 authored by Victor Stinner's avatar Victor Stinner

Avoid calling functions with an empty string as format string

Directly pass NULL rather than an empty string.
parent ad8c83ad
...@@ -2306,7 +2306,7 @@ PyCurses_GetWin(PyCursesWindowObject *self, PyObject *stream) ...@@ -2306,7 +2306,7 @@ PyCurses_GetWin(PyCursesWindowObject *self, PyObject *stream)
goto error; goto error;
} }
data = _PyObject_CallMethodId(stream, &PyId_read, ""); data = _PyObject_CallMethodId(stream, &PyId_read, NULL);
if (data == NULL) if (data == NULL)
goto error; goto error;
if (!PyBytes_Check(data)) { if (!PyBytes_Check(data)) {
......
...@@ -3399,7 +3399,7 @@ _elementtree_XMLParser_close_impl(XMLParserObject *self) ...@@ -3399,7 +3399,7 @@ _elementtree_XMLParser_close_impl(XMLParserObject *self)
} }
else if (self->handle_close) { else if (self->handle_close) {
Py_DECREF(res); Py_DECREF(res);
return PyObject_CallFunction(self->handle_close, ""); return _PyObject_CallNoArg(self->handle_close);
} }
else { else {
return res; return res;
......
...@@ -672,7 +672,7 @@ static void _pysqlite_step_callback(sqlite3_context *context, int argc, sqlite3_ ...@@ -672,7 +672,7 @@ static void _pysqlite_step_callback(sqlite3_context *context, int argc, sqlite3_
aggregate_instance = (PyObject**)sqlite3_aggregate_context(context, sizeof(PyObject*)); aggregate_instance = (PyObject**)sqlite3_aggregate_context(context, sizeof(PyObject*));
if (*aggregate_instance == 0) { if (*aggregate_instance == 0) {
*aggregate_instance = PyObject_CallFunction(aggregate_class, ""); *aggregate_instance = PyObject_CallFunction(aggregate_class, NULL);
if (PyErr_Occurred()) { if (PyErr_Occurred()) {
*aggregate_instance = 0; *aggregate_instance = 0;
...@@ -744,7 +744,7 @@ void _pysqlite_final_callback(sqlite3_context* context) ...@@ -744,7 +744,7 @@ void _pysqlite_final_callback(sqlite3_context* context)
PyErr_Fetch(&exception, &value, &tb); PyErr_Fetch(&exception, &value, &tb);
restore = 1; restore = 1;
function_result = _PyObject_CallMethodId(*aggregate_instance, &PyId_finalize, ""); function_result = _PyObject_CallMethodId(*aggregate_instance, &PyId_finalize, NULL);
Py_DECREF(*aggregate_instance); Py_DECREF(*aggregate_instance);
...@@ -960,7 +960,7 @@ static int _progress_handler(void* user_arg) ...@@ -960,7 +960,7 @@ static int _progress_handler(void* user_arg)
gilstate = PyGILState_Ensure(); gilstate = PyGILState_Ensure();
#endif #endif
ret = PyObject_CallFunction((PyObject*)user_arg, ""); ret = PyObject_CallFunction((PyObject*)user_arg, NULL);
if (!ret) { if (!ret) {
if (_enable_callback_tracebacks) { if (_enable_callback_tracebacks) {
...@@ -1291,7 +1291,7 @@ PyObject* pysqlite_connection_execute(pysqlite_Connection* self, PyObject* args) ...@@ -1291,7 +1291,7 @@ PyObject* pysqlite_connection_execute(pysqlite_Connection* self, PyObject* args)
PyObject* result = 0; PyObject* result = 0;
PyObject* method = 0; PyObject* method = 0;
cursor = _PyObject_CallMethodId((PyObject*)self, &PyId_cursor, ""); cursor = _PyObject_CallMethodId((PyObject*)self, &PyId_cursor, NULL);
if (!cursor) { if (!cursor) {
goto error; goto error;
} }
...@@ -1320,7 +1320,7 @@ PyObject* pysqlite_connection_executemany(pysqlite_Connection* self, PyObject* a ...@@ -1320,7 +1320,7 @@ PyObject* pysqlite_connection_executemany(pysqlite_Connection* self, PyObject* a
PyObject* result = 0; PyObject* result = 0;
PyObject* method = 0; PyObject* method = 0;
cursor = _PyObject_CallMethodId((PyObject*)self, &PyId_cursor, ""); cursor = _PyObject_CallMethodId((PyObject*)self, &PyId_cursor, NULL);
if (!cursor) { if (!cursor) {
goto error; goto error;
} }
...@@ -1349,7 +1349,7 @@ PyObject* pysqlite_connection_executescript(pysqlite_Connection* self, PyObject* ...@@ -1349,7 +1349,7 @@ PyObject* pysqlite_connection_executescript(pysqlite_Connection* self, PyObject*
PyObject* result = 0; PyObject* result = 0;
PyObject* method = 0; PyObject* method = 0;
cursor = _PyObject_CallMethodId((PyObject*)self, &PyId_cursor, ""); cursor = _PyObject_CallMethodId((PyObject*)self, &PyId_cursor, NULL);
if (!cursor) { if (!cursor) {
goto error; goto error;
} }
...@@ -1519,7 +1519,7 @@ pysqlite_connection_create_collation(pysqlite_Connection* self, PyObject* args) ...@@ -1519,7 +1519,7 @@ pysqlite_connection_create_collation(pysqlite_Connection* self, PyObject* args)
goto finally; goto finally;
} }
uppercase_name = _PyObject_CallMethodId(name, &PyId_upper, ""); uppercase_name = _PyObject_CallMethodId(name, &PyId_upper, NULL);
if (!uppercase_name) { if (!uppercase_name) {
goto finally; goto finally;
} }
...@@ -1611,7 +1611,7 @@ pysqlite_connection_exit(pysqlite_Connection* self, PyObject* args) ...@@ -1611,7 +1611,7 @@ pysqlite_connection_exit(pysqlite_Connection* self, PyObject* args)
method_name = "rollback"; method_name = "rollback";
} }
result = PyObject_CallMethod((PyObject*)self, method_name, ""); result = PyObject_CallMethod((PyObject*)self, method_name, NULL);
if (!result) { if (!result) {
return NULL; return NULL;
} }
......
...@@ -143,7 +143,7 @@ PyObject* _pysqlite_get_converter(PyObject* key) ...@@ -143,7 +143,7 @@ PyObject* _pysqlite_get_converter(PyObject* key)
PyObject* retval; PyObject* retval;
_Py_IDENTIFIER(upper); _Py_IDENTIFIER(upper);
upcase_key = _PyObject_CallMethodId(key, &PyId_upper, ""); upcase_key = _PyObject_CallMethodId(key, &PyId_upper, NULL);
if (!upcase_key) { if (!upcase_key) {
return NULL; return NULL;
} }
......
...@@ -192,7 +192,7 @@ static PyObject* module_register_converter(PyObject* self, PyObject* args) ...@@ -192,7 +192,7 @@ static PyObject* module_register_converter(PyObject* self, PyObject* args)
} }
/* convert the name to upper case */ /* convert the name to upper case */
name = _PyObject_CallMethodId(orig_name, &PyId_upper, ""); name = _PyObject_CallMethodId(orig_name, &PyId_upper, NULL);
if (!name) { if (!name) {
goto error; goto error;
} }
......
...@@ -2137,7 +2137,7 @@ _make_call(void *callable) ...@@ -2137,7 +2137,7 @@ _make_call(void *callable)
PyObject *rc; PyObject *rc;
int success; int success;
PyGILState_STATE s = PyGILState_Ensure(); PyGILState_STATE s = PyGILState_Ensure();
rc = PyObject_CallFunction((PyObject *)callable, ""); rc = _PyObject_CallNoArg((PyObject *)callable);
success = (rc != NULL); success = (rc != NULL);
Py_XDECREF(rc); Py_XDECREF(rc);
PyGILState_Release(s); PyGILState_Release(s);
...@@ -3406,7 +3406,7 @@ temporary_c_thread(void *data) ...@@ -3406,7 +3406,7 @@ temporary_c_thread(void *data)
/* Allocate a Python thread state for this thread */ /* Allocate a Python thread state for this thread */
state = PyGILState_Ensure(); state = PyGILState_Ensure();
res = PyObject_CallFunction(test_c_thread->callback, "", NULL); res = _PyObject_CallNoArg(test_c_thread->callback);
Py_CLEAR(test_c_thread->callback); Py_CLEAR(test_c_thread->callback);
if (res == NULL) { if (res == NULL) {
......
...@@ -168,7 +168,7 @@ faulthandler_get_fileno(PyObject **file_ptr) ...@@ -168,7 +168,7 @@ faulthandler_get_fileno(PyObject **file_ptr)
return fd; return fd;
} }
result = _PyObject_CallMethodId(file, &PyId_fileno, ""); result = _PyObject_CallMethodId(file, &PyId_fileno, NULL);
if (result == NULL) if (result == NULL)
return -1; return -1;
...@@ -186,7 +186,7 @@ faulthandler_get_fileno(PyObject **file_ptr) ...@@ -186,7 +186,7 @@ faulthandler_get_fileno(PyObject **file_ptr)
return -1; return -1;
} }
result = _PyObject_CallMethodId(file, &PyId_flush, ""); result = _PyObject_CallMethodId(file, &PyId_flush, NULL);
if (result != NULL) if (result != NULL)
Py_DECREF(result); Py_DECREF(result);
else { else {
...@@ -1290,7 +1290,7 @@ faulthandler_env_options(void) ...@@ -1290,7 +1290,7 @@ faulthandler_env_options(void)
if (module == NULL) { if (module == NULL) {
return -1; return -1;
} }
res = _PyObject_CallMethodId(module, &PyId_enable, ""); res = _PyObject_CallMethodId(module, &PyId_enable, NULL);
Py_DECREF(module); Py_DECREF(module);
if (res == NULL) if (res == NULL)
return -1; return -1;
......
...@@ -261,7 +261,7 @@ gen_close_iter(PyObject *yf) ...@@ -261,7 +261,7 @@ gen_close_iter(PyObject *yf)
PyErr_WriteUnraisable(yf); PyErr_WriteUnraisable(yf);
PyErr_Clear(); PyErr_Clear();
} else { } else {
retval = PyObject_CallFunction(meth, ""); retval = _PyObject_CallNoArg(meth);
Py_DECREF(meth); Py_DECREF(meth);
if (retval == NULL) if (retval == NULL)
return -1; return -1;
......
...@@ -453,7 +453,7 @@ proxy_checkref(PyWeakReference *proxy) ...@@ -453,7 +453,7 @@ proxy_checkref(PyWeakReference *proxy)
method(PyObject *proxy) { \ method(PyObject *proxy) { \
_Py_IDENTIFIER(special); \ _Py_IDENTIFIER(special); \
UNWRAP(proxy); \ UNWRAP(proxy); \
return _PyObject_CallMethodId(proxy, &PyId_##special, ""); \ return _PyObject_CallMethodId(proxy, &PyId_##special, NULL); \
} }
......
...@@ -1784,7 +1784,7 @@ builtin_print(PyObject *self, PyObject *args, PyObject *kwds) ...@@ -1784,7 +1784,7 @@ builtin_print(PyObject *self, PyObject *args, PyObject *kwds)
if (do_flush == -1) if (do_flush == -1)
return NULL; return NULL;
else if (do_flush) { else if (do_flush) {
tmp = _PyObject_CallMethodId(file, &PyId_flush, ""); tmp = _PyObject_CallMethodId(file, &PyId_flush, NULL);
if (tmp == NULL) if (tmp == NULL)
return NULL; return NULL;
else else
...@@ -1850,7 +1850,7 @@ builtin_input_impl(PyObject *module, PyObject *prompt) ...@@ -1850,7 +1850,7 @@ builtin_input_impl(PyObject *module, PyObject *prompt)
} }
/* First of all, flush stderr */ /* First of all, flush stderr */
tmp = _PyObject_CallMethodId(ferr, &PyId_flush, ""); tmp = _PyObject_CallMethodId(ferr, &PyId_flush, NULL);
if (tmp == NULL) if (tmp == NULL)
PyErr_Clear(); PyErr_Clear();
else else
...@@ -1859,7 +1859,7 @@ builtin_input_impl(PyObject *module, PyObject *prompt) ...@@ -1859,7 +1859,7 @@ builtin_input_impl(PyObject *module, PyObject *prompt)
/* We should only use (GNU) readline if Python's sys.stdin and /* We should only use (GNU) readline if Python's sys.stdin and
sys.stdout are the same as C's stdin and stdout, because we sys.stdout are the same as C's stdin and stdout, because we
need to pass it those. */ need to pass it those. */
tmp = _PyObject_CallMethodId(fin, &PyId_fileno, ""); tmp = _PyObject_CallMethodId(fin, &PyId_fileno, NULL);
if (tmp == NULL) { if (tmp == NULL) {
PyErr_Clear(); PyErr_Clear();
tty = 0; tty = 0;
...@@ -1872,7 +1872,7 @@ builtin_input_impl(PyObject *module, PyObject *prompt) ...@@ -1872,7 +1872,7 @@ builtin_input_impl(PyObject *module, PyObject *prompt)
tty = fd == fileno(stdin) && isatty(fd); tty = fd == fileno(stdin) && isatty(fd);
} }
if (tty) { if (tty) {
tmp = _PyObject_CallMethodId(fout, &PyId_fileno, ""); tmp = _PyObject_CallMethodId(fout, &PyId_fileno, NULL);
if (tmp == NULL) { if (tmp == NULL) {
PyErr_Clear(); PyErr_Clear();
tty = 0; tty = 0;
...@@ -1907,7 +1907,7 @@ builtin_input_impl(PyObject *module, PyObject *prompt) ...@@ -1907,7 +1907,7 @@ builtin_input_impl(PyObject *module, PyObject *prompt)
stdin_errors_str = _PyUnicode_AsString(stdin_errors); stdin_errors_str = _PyUnicode_AsString(stdin_errors);
if (!stdin_encoding_str || !stdin_errors_str) if (!stdin_encoding_str || !stdin_errors_str)
goto _readline_errors; goto _readline_errors;
tmp = _PyObject_CallMethodId(fout, &PyId_flush, ""); tmp = _PyObject_CallMethodId(fout, &PyId_flush, NULL);
if (tmp == NULL) if (tmp == NULL)
PyErr_Clear(); PyErr_Clear();
else else
...@@ -1987,7 +1987,7 @@ builtin_input_impl(PyObject *module, PyObject *prompt) ...@@ -1987,7 +1987,7 @@ builtin_input_impl(PyObject *module, PyObject *prompt)
if (PyFile_WriteObject(prompt, fout, Py_PRINT_RAW) != 0) if (PyFile_WriteObject(prompt, fout, Py_PRINT_RAW) != 0)
return NULL; return NULL;
} }
tmp = _PyObject_CallMethodId(fout, &PyId_flush, ""); tmp = _PyObject_CallMethodId(fout, &PyId_flush, NULL);
if (tmp == NULL) if (tmp == NULL)
PyErr_Clear(); PyErr_Clear();
else else
......
...@@ -493,7 +493,7 @@ flush_std_files(void) ...@@ -493,7 +493,7 @@ flush_std_files(void)
int status = 0; int status = 0;
if (fout != NULL && fout != Py_None && !file_is_closed(fout)) { if (fout != NULL && fout != Py_None && !file_is_closed(fout)) {
tmp = _PyObject_CallMethodId(fout, &PyId_flush, ""); tmp = _PyObject_CallMethodId(fout, &PyId_flush, NULL);
if (tmp == NULL) { if (tmp == NULL) {
PyErr_WriteUnraisable(fout); PyErr_WriteUnraisable(fout);
status = -1; status = -1;
...@@ -503,7 +503,7 @@ flush_std_files(void) ...@@ -503,7 +503,7 @@ flush_std_files(void)
} }
if (ferr != NULL && ferr != Py_None && !file_is_closed(ferr)) { if (ferr != NULL && ferr != Py_None && !file_is_closed(ferr)) {
tmp = _PyObject_CallMethodId(ferr, &PyId_flush, ""); tmp = _PyObject_CallMethodId(ferr, &PyId_flush, NULL);
if (tmp == NULL) { if (tmp == NULL) {
PyErr_Clear(); PyErr_Clear();
status = -1; status = -1;
...@@ -1072,7 +1072,7 @@ create_stdio(PyObject* io, ...@@ -1072,7 +1072,7 @@ create_stdio(PyObject* io,
text = PyUnicode_FromString(name); text = PyUnicode_FromString(name);
if (text == NULL || _PyObject_SetAttrId(raw, &PyId_name, text) < 0) if (text == NULL || _PyObject_SetAttrId(raw, &PyId_name, text) < 0)
goto error; goto error;
res = _PyObject_CallMethodId(raw, &PyId_isatty, ""); res = _PyObject_CallMethodId(raw, &PyId_isatty, NULL);
if (res == NULL) if (res == NULL)
goto error; goto error;
isatty = PyObject_IsTrue(res); isatty = PyObject_IsTrue(res);
...@@ -1343,7 +1343,7 @@ _Py_FatalError_PrintExc(int fd) ...@@ -1343,7 +1343,7 @@ _Py_FatalError_PrintExc(int fd)
Py_XDECREF(tb); Py_XDECREF(tb);
/* sys.stderr may be buffered: call sys.stderr.flush() */ /* sys.stderr may be buffered: call sys.stderr.flush() */
res = _PyObject_CallMethodId(ferr, &PyId_flush, ""); res = _PyObject_CallMethodId(ferr, &PyId_flush, NULL);
if (res == NULL) if (res == NULL)
PyErr_Clear(); PyErr_Clear();
else else
...@@ -1453,7 +1453,7 @@ wait_for_thread_shutdown(void) ...@@ -1453,7 +1453,7 @@ wait_for_thread_shutdown(void)
PyErr_Clear(); PyErr_Clear();
return; return;
} }
result = _PyObject_CallMethodId(threading, &PyId__shutdown, ""); result = _PyObject_CallMethodId(threading, &PyId__shutdown, NULL);
if (result == NULL) { if (result == NULL) {
PyErr_WriteUnraisable(threading); PyErr_WriteUnraisable(threading);
} }
......
...@@ -950,7 +950,7 @@ flush_io(void) ...@@ -950,7 +950,7 @@ flush_io(void)
f = _PySys_GetObjectId(&PyId_stderr); f = _PySys_GetObjectId(&PyId_stderr);
if (f != NULL) { if (f != NULL) {
r = _PyObject_CallMethodId(f, &PyId_flush, ""); r = _PyObject_CallMethodId(f, &PyId_flush, NULL);
if (r) if (r)
Py_DECREF(r); Py_DECREF(r);
else else
...@@ -958,7 +958,7 @@ flush_io(void) ...@@ -958,7 +958,7 @@ flush_io(void)
} }
f = _PySys_GetObjectId(&PyId_stdout); f = _PySys_GetObjectId(&PyId_stdout);
if (f != NULL) { if (f != NULL) {
r = _PyObject_CallMethodId(f, &PyId_flush, ""); r = _PyObject_CallMethodId(f, &PyId_flush, NULL);
if (r) if (r)
Py_DECREF(r); Py_DECREF(r);
else else
......
...@@ -314,7 +314,7 @@ _Py_DisplaySourceLine(PyObject *f, PyObject *filename, int lineno, int indent) ...@@ -314,7 +314,7 @@ _Py_DisplaySourceLine(PyObject *f, PyObject *filename, int lineno, int indent)
if (fob == NULL) { if (fob == NULL) {
PyErr_Clear(); PyErr_Clear();
res = _PyObject_CallMethodId(binary, &PyId_close, ""); res = _PyObject_CallMethodId(binary, &PyId_close, NULL);
Py_DECREF(binary); Py_DECREF(binary);
if (res) if (res)
Py_DECREF(res); Py_DECREF(res);
...@@ -334,7 +334,7 @@ _Py_DisplaySourceLine(PyObject *f, PyObject *filename, int lineno, int indent) ...@@ -334,7 +334,7 @@ _Py_DisplaySourceLine(PyObject *f, PyObject *filename, int lineno, int indent)
break; break;
} }
} }
res = _PyObject_CallMethodId(fob, &PyId_close, ""); res = _PyObject_CallMethodId(fob, &PyId_close, NULL);
if (res) if (res)
Py_DECREF(res); Py_DECREF(res);
else else
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment