Avoid calling functions with an empty string as format string

Directly pass NULL rather than an empty string.
This commit is contained in:
Victor Stinner 2016-09-05 18:16:01 -07:00
parent ad8c83ad6b
commit 3466bde1cc
13 changed files with 34 additions and 34 deletions

View File

@ -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)) {

View File

@ -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;

View File

@ -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)
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)
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)
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
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*
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)
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)
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;
} }

View File

@ -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;
} }

View File

@ -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;
} }

View File

@ -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)
/* 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) {

View File

@ -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)
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)
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;

View File

@ -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;

View File

@ -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); \
} }

View File

@ -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)
} }
/* 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)
/* 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)
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)
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)
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

View File

@ -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)
} }
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,
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)
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)
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);
} }

View File

@ -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)
} }
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

View File

@ -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)
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