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;
}
data = _PyObject_CallMethodId(stream, &PyId_read, "");
data = _PyObject_CallMethodId(stream, &PyId_read, NULL);
if (data == NULL)
goto error;
if (!PyBytes_Check(data)) {

View File

@ -3399,7 +3399,7 @@ _elementtree_XMLParser_close_impl(XMLParserObject *self)
}
else if (self->handle_close) {
Py_DECREF(res);
return PyObject_CallFunction(self->handle_close, "");
return _PyObject_CallNoArg(self->handle_close);
}
else {
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*));
if (*aggregate_instance == 0) {
*aggregate_instance = PyObject_CallFunction(aggregate_class, "");
*aggregate_instance = PyObject_CallFunction(aggregate_class, NULL);
if (PyErr_Occurred()) {
*aggregate_instance = 0;
@ -744,7 +744,7 @@ void _pysqlite_final_callback(sqlite3_context* context)
PyErr_Fetch(&exception, &value, &tb);
restore = 1;
function_result = _PyObject_CallMethodId(*aggregate_instance, &PyId_finalize, "");
function_result = _PyObject_CallMethodId(*aggregate_instance, &PyId_finalize, NULL);
Py_DECREF(*aggregate_instance);
@ -960,7 +960,7 @@ static int _progress_handler(void* user_arg)
gilstate = PyGILState_Ensure();
#endif
ret = PyObject_CallFunction((PyObject*)user_arg, "");
ret = PyObject_CallFunction((PyObject*)user_arg, NULL);
if (!ret) {
if (_enable_callback_tracebacks) {
@ -1291,7 +1291,7 @@ PyObject* pysqlite_connection_execute(pysqlite_Connection* self, PyObject* args)
PyObject* result = 0;
PyObject* method = 0;
cursor = _PyObject_CallMethodId((PyObject*)self, &PyId_cursor, "");
cursor = _PyObject_CallMethodId((PyObject*)self, &PyId_cursor, NULL);
if (!cursor) {
goto error;
}
@ -1320,7 +1320,7 @@ PyObject* pysqlite_connection_executemany(pysqlite_Connection* self, PyObject* a
PyObject* result = 0;
PyObject* method = 0;
cursor = _PyObject_CallMethodId((PyObject*)self, &PyId_cursor, "");
cursor = _PyObject_CallMethodId((PyObject*)self, &PyId_cursor, NULL);
if (!cursor) {
goto error;
}
@ -1349,7 +1349,7 @@ PyObject* pysqlite_connection_executescript(pysqlite_Connection* self, PyObject*
PyObject* result = 0;
PyObject* method = 0;
cursor = _PyObject_CallMethodId((PyObject*)self, &PyId_cursor, "");
cursor = _PyObject_CallMethodId((PyObject*)self, &PyId_cursor, NULL);
if (!cursor) {
goto error;
}
@ -1519,7 +1519,7 @@ pysqlite_connection_create_collation(pysqlite_Connection* self, PyObject* args)
goto finally;
}
uppercase_name = _PyObject_CallMethodId(name, &PyId_upper, "");
uppercase_name = _PyObject_CallMethodId(name, &PyId_upper, NULL);
if (!uppercase_name) {
goto finally;
}
@ -1611,7 +1611,7 @@ pysqlite_connection_exit(pysqlite_Connection* self, PyObject* args)
method_name = "rollback";
}
result = PyObject_CallMethod((PyObject*)self, method_name, "");
result = PyObject_CallMethod((PyObject*)self, method_name, NULL);
if (!result) {
return NULL;
}

View File

@ -143,7 +143,7 @@ PyObject* _pysqlite_get_converter(PyObject* key)
PyObject* retval;
_Py_IDENTIFIER(upper);
upcase_key = _PyObject_CallMethodId(key, &PyId_upper, "");
upcase_key = _PyObject_CallMethodId(key, &PyId_upper, NULL);
if (!upcase_key) {
return NULL;
}

View File

@ -192,7 +192,7 @@ static PyObject* module_register_converter(PyObject* self, PyObject* args)
}
/* convert the name to upper case */
name = _PyObject_CallMethodId(orig_name, &PyId_upper, "");
name = _PyObject_CallMethodId(orig_name, &PyId_upper, NULL);
if (!name) {
goto error;
}

View File

@ -2137,7 +2137,7 @@ _make_call(void *callable)
PyObject *rc;
int success;
PyGILState_STATE s = PyGILState_Ensure();
rc = PyObject_CallFunction((PyObject *)callable, "");
rc = _PyObject_CallNoArg((PyObject *)callable);
success = (rc != NULL);
Py_XDECREF(rc);
PyGILState_Release(s);
@ -3406,7 +3406,7 @@ temporary_c_thread(void *data)
/* Allocate a Python thread state for this thread */
state = PyGILState_Ensure();
res = PyObject_CallFunction(test_c_thread->callback, "", NULL);
res = _PyObject_CallNoArg(test_c_thread->callback);
Py_CLEAR(test_c_thread->callback);
if (res == NULL) {

View File

@ -168,7 +168,7 @@ faulthandler_get_fileno(PyObject **file_ptr)
return fd;
}
result = _PyObject_CallMethodId(file, &PyId_fileno, "");
result = _PyObject_CallMethodId(file, &PyId_fileno, NULL);
if (result == NULL)
return -1;
@ -186,7 +186,7 @@ faulthandler_get_fileno(PyObject **file_ptr)
return -1;
}
result = _PyObject_CallMethodId(file, &PyId_flush, "");
result = _PyObject_CallMethodId(file, &PyId_flush, NULL);
if (result != NULL)
Py_DECREF(result);
else {
@ -1290,7 +1290,7 @@ faulthandler_env_options(void)
if (module == NULL) {
return -1;
}
res = _PyObject_CallMethodId(module, &PyId_enable, "");
res = _PyObject_CallMethodId(module, &PyId_enable, NULL);
Py_DECREF(module);
if (res == NULL)
return -1;

View File

@ -261,7 +261,7 @@ gen_close_iter(PyObject *yf)
PyErr_WriteUnraisable(yf);
PyErr_Clear();
} else {
retval = PyObject_CallFunction(meth, "");
retval = _PyObject_CallNoArg(meth);
Py_DECREF(meth);
if (retval == NULL)
return -1;

View File

@ -453,7 +453,7 @@ proxy_checkref(PyWeakReference *proxy)
method(PyObject *proxy) { \
_Py_IDENTIFIER(special); \
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)
return NULL;
else if (do_flush) {
tmp = _PyObject_CallMethodId(file, &PyId_flush, "");
tmp = _PyObject_CallMethodId(file, &PyId_flush, NULL);
if (tmp == NULL)
return NULL;
else
@ -1850,7 +1850,7 @@ builtin_input_impl(PyObject *module, PyObject *prompt)
}
/* First of all, flush stderr */
tmp = _PyObject_CallMethodId(ferr, &PyId_flush, "");
tmp = _PyObject_CallMethodId(ferr, &PyId_flush, NULL);
if (tmp == NULL)
PyErr_Clear();
else
@ -1859,7 +1859,7 @@ builtin_input_impl(PyObject *module, PyObject *prompt)
/* 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
need to pass it those. */
tmp = _PyObject_CallMethodId(fin, &PyId_fileno, "");
tmp = _PyObject_CallMethodId(fin, &PyId_fileno, NULL);
if (tmp == NULL) {
PyErr_Clear();
tty = 0;
@ -1872,7 +1872,7 @@ builtin_input_impl(PyObject *module, PyObject *prompt)
tty = fd == fileno(stdin) && isatty(fd);
}
if (tty) {
tmp = _PyObject_CallMethodId(fout, &PyId_fileno, "");
tmp = _PyObject_CallMethodId(fout, &PyId_fileno, NULL);
if (tmp == NULL) {
PyErr_Clear();
tty = 0;
@ -1907,7 +1907,7 @@ builtin_input_impl(PyObject *module, PyObject *prompt)
stdin_errors_str = _PyUnicode_AsString(stdin_errors);
if (!stdin_encoding_str || !stdin_errors_str)
goto _readline_errors;
tmp = _PyObject_CallMethodId(fout, &PyId_flush, "");
tmp = _PyObject_CallMethodId(fout, &PyId_flush, NULL);
if (tmp == NULL)
PyErr_Clear();
else
@ -1987,7 +1987,7 @@ builtin_input_impl(PyObject *module, PyObject *prompt)
if (PyFile_WriteObject(prompt, fout, Py_PRINT_RAW) != 0)
return NULL;
}
tmp = _PyObject_CallMethodId(fout, &PyId_flush, "");
tmp = _PyObject_CallMethodId(fout, &PyId_flush, NULL);
if (tmp == NULL)
PyErr_Clear();
else

View File

@ -493,7 +493,7 @@ flush_std_files(void)
int status = 0;
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) {
PyErr_WriteUnraisable(fout);
status = -1;
@ -503,7 +503,7 @@ flush_std_files(void)
}
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) {
PyErr_Clear();
status = -1;
@ -1072,7 +1072,7 @@ create_stdio(PyObject* io,
text = PyUnicode_FromString(name);
if (text == NULL || _PyObject_SetAttrId(raw, &PyId_name, text) < 0)
goto error;
res = _PyObject_CallMethodId(raw, &PyId_isatty, "");
res = _PyObject_CallMethodId(raw, &PyId_isatty, NULL);
if (res == NULL)
goto error;
isatty = PyObject_IsTrue(res);
@ -1343,7 +1343,7 @@ _Py_FatalError_PrintExc(int fd)
Py_XDECREF(tb);
/* 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)
PyErr_Clear();
else
@ -1453,7 +1453,7 @@ wait_for_thread_shutdown(void)
PyErr_Clear();
return;
}
result = _PyObject_CallMethodId(threading, &PyId__shutdown, "");
result = _PyObject_CallMethodId(threading, &PyId__shutdown, NULL);
if (result == NULL) {
PyErr_WriteUnraisable(threading);
}

View File

@ -950,7 +950,7 @@ flush_io(void)
f = _PySys_GetObjectId(&PyId_stderr);
if (f != NULL) {
r = _PyObject_CallMethodId(f, &PyId_flush, "");
r = _PyObject_CallMethodId(f, &PyId_flush, NULL);
if (r)
Py_DECREF(r);
else
@ -958,7 +958,7 @@ flush_io(void)
}
f = _PySys_GetObjectId(&PyId_stdout);
if (f != NULL) {
r = _PyObject_CallMethodId(f, &PyId_flush, "");
r = _PyObject_CallMethodId(f, &PyId_flush, NULL);
if (r)
Py_DECREF(r);
else

View File

@ -314,7 +314,7 @@ _Py_DisplaySourceLine(PyObject *f, PyObject *filename, int lineno, int indent)
if (fob == NULL) {
PyErr_Clear();
res = _PyObject_CallMethodId(binary, &PyId_close, "");
res = _PyObject_CallMethodId(binary, &PyId_close, NULL);
Py_DECREF(binary);
if (res)
Py_DECREF(res);
@ -334,7 +334,7 @@ _Py_DisplaySourceLine(PyObject *f, PyObject *filename, int lineno, int indent)
break;
}
}
res = _PyObject_CallMethodId(fob, &PyId_close, "");
res = _PyObject_CallMethodId(fob, &PyId_close, NULL);
if (res)
Py_DECREF(res);
else