closes bpo-32460: ensure all non-static globals have initializers (#5061)

This commit is contained in:
Benjamin Peterson 2017-12-31 10:04:13 -08:00 committed by GitHub
parent 6c6d3a4608
commit 0a37a30037
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 58 additions and 59 deletions

View file

@ -116,10 +116,10 @@ bytes(cdata)
#endif
#include "ctypes.h"
PyObject *PyExc_ArgError;
PyObject *PyExc_ArgError = NULL;
/* This dict maps ctypes types to POINTER types */
PyObject *_ctypes_ptrtype_cache;
PyObject *_ctypes_ptrtype_cache = NULL;
static PyTypeObject Simple_Type;

View file

@ -63,7 +63,7 @@ typedef struct {
} TestReg;
EXPORT(TestReg) last_tfrsuv_arg;
EXPORT(TestReg) last_tfrsuv_arg = {0};
EXPORT(void)
@ -410,8 +410,8 @@ EXPORT(void) _py_func(void)
{
}
EXPORT(long long) last_tf_arg_s;
EXPORT(unsigned long long) last_tf_arg_u;
EXPORT(long long) last_tf_arg_s = 0;
EXPORT(unsigned long long) last_tf_arg_u = 0;
struct BITS {
int A: 1, B:2, C:3, D:4, E: 5, F: 6, G: 7, H: 8, I: 9;

View file

@ -26,33 +26,33 @@
/* Various interned strings */
PyObject *_PyIO_str_close;
PyObject *_PyIO_str_closed;
PyObject *_PyIO_str_decode;
PyObject *_PyIO_str_encode;
PyObject *_PyIO_str_fileno;
PyObject *_PyIO_str_flush;
PyObject *_PyIO_str_getstate;
PyObject *_PyIO_str_isatty;
PyObject *_PyIO_str_newlines;
PyObject *_PyIO_str_nl;
PyObject *_PyIO_str_read;
PyObject *_PyIO_str_read1;
PyObject *_PyIO_str_readable;
PyObject *_PyIO_str_readall;
PyObject *_PyIO_str_readinto;
PyObject *_PyIO_str_readline;
PyObject *_PyIO_str_reset;
PyObject *_PyIO_str_seek;
PyObject *_PyIO_str_seekable;
PyObject *_PyIO_str_setstate;
PyObject *_PyIO_str_tell;
PyObject *_PyIO_str_truncate;
PyObject *_PyIO_str_writable;
PyObject *_PyIO_str_write;
PyObject *_PyIO_str_close = NULL;
PyObject *_PyIO_str_closed = NULL;
PyObject *_PyIO_str_decode = NULL;
PyObject *_PyIO_str_encode = NULL;
PyObject *_PyIO_str_fileno = NULL;
PyObject *_PyIO_str_flush = NULL;
PyObject *_PyIO_str_getstate = NULL;
PyObject *_PyIO_str_isatty = NULL;
PyObject *_PyIO_str_newlines = NULL;
PyObject *_PyIO_str_nl = NULL;
PyObject *_PyIO_str_read = NULL;
PyObject *_PyIO_str_read1 = NULL;
PyObject *_PyIO_str_readable = NULL;
PyObject *_PyIO_str_readall = NULL;
PyObject *_PyIO_str_readinto = NULL;
PyObject *_PyIO_str_readline = NULL;
PyObject *_PyIO_str_reset = NULL;
PyObject *_PyIO_str_seek = NULL;
PyObject *_PyIO_str_seekable = NULL;
PyObject *_PyIO_str_setstate = NULL;
PyObject *_PyIO_str_tell = NULL;
PyObject *_PyIO_str_truncate = NULL;
PyObject *_PyIO_str_writable = NULL;
PyObject *_PyIO_str_write = NULL;
PyObject *_PyIO_empty_str;
PyObject *_PyIO_empty_bytes;
PyObject *_PyIO_empty_str = NULL;
PyObject *_PyIO_empty_bytes = NULL;
PyDoc_STRVAR(module_doc,
"The io module provides the Python interfaces to stream handling. The\n"

View file

@ -33,7 +33,7 @@
/** the adapters registry **/
PyObject *psyco_adapters;
static PyObject *psyco_adapters = NULL;
/* pysqlite_microprotocols_init - initialize the adapters dictionary */

View file

@ -28,10 +28,6 @@
#include <Python.h>
/** adapters registry **/
extern PyObject *psyco_adapters;
/** the names of the three mandatory methods **/
#define MICROPROTOCOLS_GETQUOTED_NAME "getquoted"

View file

@ -35,13 +35,20 @@
/* static objects at module-level */
PyObject* pysqlite_Error, *pysqlite_Warning, *pysqlite_InterfaceError, *pysqlite_DatabaseError,
*pysqlite_InternalError, *pysqlite_OperationalError, *pysqlite_ProgrammingError,
*pysqlite_IntegrityError, *pysqlite_DataError, *pysqlite_NotSupportedError;
PyObject *pysqlite_Error = NULL;
PyObject *pysqlite_Warning = NULL;
PyObject *pysqlite_InterfaceError = NULL;
PyObject *pysqlite_DatabaseError = NULL;
PyObject *pysqlite_InternalError = NULL;
PyObject *pysqlite_OperationalError = NULL;
PyObject *pysqlite_ProgrammingError = NULL;
PyObject *pysqlite_IntegrityError = NULL;
PyObject *pysqlite_DataError = NULL;
PyObject *pysqlite_NotSupportedError = NULL;
PyObject* converters;
int _enable_callback_tracebacks;
int pysqlite_BaseTypeAdapted;
PyObject* converters = NULL;
int _enable_callback_tracebacks = 0;
int pysqlite_BaseTypeAdapted = 0;
static PyObject* module_connect(PyObject* self, PyObject* args, PyObject*
kwargs)
@ -461,10 +468,6 @@ PyMODINIT_FUNC PyInit__sqlite3(void)
/* initialize the default converters */
converters_init(dict);
_enable_callback_tracebacks = 0;
pysqlite_BaseTypeAdapted = 0;
error:
if (PyErr_Occurred())
{

View file

@ -17,7 +17,7 @@
#endif /* MS_WINDOWS */
PyThreadState* _PyOS_ReadlineTState;
PyThreadState* _PyOS_ReadlineTState = NULL;
#include "pythread.h"
static PyThread_type_lock _PyOS_ReadlineLock = NULL;
@ -284,7 +284,7 @@ PyOS_StdioReadline(FILE *sys_stdin, FILE *sys_stdout, const char *prompt)
Note: Python expects in return a buffer allocated with PyMem_Malloc. */
char *(*PyOS_ReadlineFunctionPointer)(FILE *, FILE *, const char *);
char *(*PyOS_ReadlineFunctionPointer)(FILE *, FILE *, const char *) = NULL;
/* Interface used by tokenizer.c and bltinmodule.c */

View file

@ -17,7 +17,7 @@
extern "C" {
#endif
_Py_HashSecret_t _Py_HashSecret;
_Py_HashSecret_t _Py_HashSecret = {0};
#if Py_HASH_ALGORITHM == Py_HASH_EXTERNAL
extern PyHash_FuncDef PyHash_Func;

View file

@ -108,17 +108,17 @@ _Py_IsFinalizing(void)
/* Global configuration variable declarations are in pydebug.h */
/* XXX (ncoghlan): move those declarations to pylifecycle.h? */
int Py_DebugFlag; /* Needed by parser.c */
int Py_VerboseFlag; /* Needed by import.c */
int Py_QuietFlag; /* Needed by sysmodule.c */
int Py_InteractiveFlag; /* Needed by Py_FdIsInteractive() below */
int Py_InspectFlag; /* Needed to determine whether to exit at SystemExit */
int Py_DebugFlag = 0; /* Needed by parser.c */
int Py_VerboseFlag = 0; /* Needed by import.c */
int Py_QuietFlag = 0; /* Needed by sysmodule.c */
int Py_InteractiveFlag = 0; /* Needed by Py_FdIsInteractive() below */
int Py_InspectFlag = 0; /* Needed to determine whether to exit at SystemExit */
int Py_OptimizeFlag = 0; /* Needed by compile.c */
int Py_NoSiteFlag; /* Suppress 'import site' */
int Py_BytesWarningFlag; /* Warn on str(bytes) and str(buffer) */
int Py_FrozenFlag; /* Needed by getpath.c */
int Py_IgnoreEnvironmentFlag; /* e.g. PYTHONPATH, PYTHONHOME */
int Py_DontWriteBytecodeFlag; /* Suppress writing bytecode files (*.pyc) */
int Py_NoSiteFlag = 0; /* Suppress 'import site' */
int Py_BytesWarningFlag = 0; /* Warn on str(bytes) and str(buffer) */
int Py_FrozenFlag = 0; /* Needed by getpath.c */
int Py_IgnoreEnvironmentFlag = 0; /* e.g. PYTHONPATH, PYTHONHOME */
int Py_DontWriteBytecodeFlag = 0; /* Suppress writing bytecode files (*.pyc) */
int Py_NoUserSiteDirectory = 0; /* for -s and site.py */
int Py_UnbufferedStdioFlag = 0; /* Unbuffered binary std{in,out,err} */
int Py_HashRandomizationFlag = 0; /* for -R and PYTHONHASHSEED */