Kaydet (Commit) 9efe8ef7 authored tarafından Guido van Rossum's avatar Guido van Rossum

#Plug small memory leaks in constructors.

üst c3beda2f
...@@ -3876,7 +3876,7 @@ init_stuff(PyObject *module, PyObject *module_dict) { ...@@ -3876,7 +3876,7 @@ init_stuff(PyObject *module, PyObject *module_dict) {
/* Initialization function for the module (*must* be called initcPickle) */ /* Initialization function for the module (*must* be called initcPickle) */
void void
initcPickle() { initcPickle() {
PyObject *m, *d; PyObject *m, *d, *v;
char *rev="$Revision$"; char *rev="$Revision$";
PyObject *format_version; PyObject *format_version;
PyObject *compatible_formats; PyObject *compatible_formats;
...@@ -3893,7 +3893,8 @@ initcPickle() { ...@@ -3893,7 +3893,8 @@ initcPickle() {
/* Add some symbolic constants to the module */ /* Add some symbolic constants to the module */
d = PyModule_GetDict(m); d = PyModule_GetDict(m);
PyDict_SetItemString(d,"__version__", PyDict_SetItemString(d,"__version__",
PyString_FromStringAndSize(rev+11,strlen(rev+11)-2)); v = PyString_FromStringAndSize(rev+11,strlen(rev+11)-2));
Py_XDECREF(v);
#ifdef FORMAT_1_3 #ifdef FORMAT_1_3
format_version = PyString_FromString("1.3"); format_version = PyString_FromString("1.3");
...@@ -3905,6 +3906,8 @@ initcPickle() { ...@@ -3905,6 +3906,8 @@ initcPickle() {
PyDict_SetItemString(d, "format_version", format_version); PyDict_SetItemString(d, "format_version", format_version);
PyDict_SetItemString(d, "compatible_formats", compatible_formats); PyDict_SetItemString(d, "compatible_formats", compatible_formats);
Py_XDECREF(format_version);
Py_XDECREF(compatible_formats);
init_stuff(m, d); init_stuff(m, d);
CHECK_FOR_ERRORS("can't initialize module cPickle"); CHECK_FOR_ERRORS("can't initialize module cPickle");
......
...@@ -600,7 +600,7 @@ static struct PycStringIO_CAPI CAPI = { ...@@ -600,7 +600,7 @@ static struct PycStringIO_CAPI CAPI = {
void void
initcStringIO() { initcStringIO() {
PyObject *m, *d; PyObject *m, *d, *v;
/* Create the module and add the functions */ /* Create the module and add the functions */
...@@ -614,7 +614,9 @@ initcStringIO() { ...@@ -614,7 +614,9 @@ initcStringIO() {
/* Export C API */ /* Export C API */
Itype.ob_type=&PyType_Type; Itype.ob_type=&PyType_Type;
Otype.ob_type=&PyType_Type; Otype.ob_type=&PyType_Type;
PyDict_SetItemString(d,"cStringIO_CAPI", PyCObject_FromVoidPtr(&CAPI,NULL)); PyDict_SetItemString(d,"cStringIO_CAPI",
v = PyCObject_FromVoidPtr(&CAPI,NULL));
Py_XDECREF(v);
/* Export Types */ /* Export Types */
PyDict_SetItemString(d,"InputType", (PyObject*)&Itype); PyDict_SetItemString(d,"InputType", (PyObject*)&Itype);
...@@ -631,6 +633,9 @@ initcStringIO() { ...@@ -631,6 +633,9 @@ initcStringIO() {
/****************************************************************************** /******************************************************************************
$Log$ $Log$
Revision 2.8 1997/09/03 18:19:38 guido
#Plug small memory leaks in constructors.
Revision 2.7 1997/09/03 00:09:26 guido Revision 2.7 1997/09/03 00:09:26 guido
Fix the bug Jeremy was experiencing: both the close() and the Fix the bug Jeremy was experiencing: both the close() and the
dealloc() functions contained code to free/DECREF the buffer dealloc() functions contained code to free/DECREF the buffer
......
...@@ -256,7 +256,7 @@ spam2(delslice,__delslice__, ...@@ -256,7 +256,7 @@ spam2(delslice,__delslice__,
void void
initoperator() initoperator()
{ {
PyObject *m, *d; PyObject *m, *d, *v;
/* Create the module and add the functions */ /* Create the module and add the functions */
m = Py_InitModule4("operator", operator_methods, m = Py_InitModule4("operator", operator_methods,
...@@ -266,7 +266,8 @@ initoperator() ...@@ -266,7 +266,8 @@ initoperator()
/* Add some symbolic constants to the module */ /* Add some symbolic constants to the module */
d = PyModule_GetDict(m); d = PyModule_GetDict(m);
PyDict_SetItemString(d, "__version__", PyDict_SetItemString(d, "__version__",
PyString_FromString("$Rev$")); v = PyString_FromString("$Rev$"));
Py_XDECREF(v);
/* Check for errors */ /* Check for errors */
if (PyErr_Occurred()) if (PyErr_Occurred())
......
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