A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://mail.python.org/pipermail/python-dev/2001-January/011747.html below:

[Patch #103248] Fix a memory leak in _sre.c

[Python-Dev] Re: [Patch #103248] Fix a memory leak in _sre.c [Python-Dev] Re: [Patch #103248] Fix a memory leak in _sre.cCharles G Waldman cgw@fnal.gov
Tue, 16 Jan 2001 14:19:09 -0600 (CST)
Frederik - I noticed that you chose to check in a slightly different
patch than the one I submitted.

I wonder why you chose to do this?  In particular at line 1238 I had:

    if (PyErr_Occurred()) {
        Py_DECREF(self);
        return NULL;
    }

and you changed this to 

    if (PyErr_Occurred()) {
        PyObject_DEL(self);
        return NULL;
    }

Can you explain why you made this (seemingly arbitrary) change? 

I think that since "self" was created via:

 self = PyObject_NEW_VAR(PatternObject, &Pattern_Type, n);

which calls PyObjectINIT, which in turn calls _Py_NewReference, which
increments _Py_RefTotal, it is incorrect to simply do a PyObject_DEL
to de-allocate it -- won't this screw up the value of _Py_RefTotal?

Admittedly this is a minor nit and only matters if Py_TRACE_REFS is
defined - I just wanted to check to make sure my understanding of
reference counting w.r.t. memory allocation and deallocation is
correct - if the above is in error, I'd apprecate any corrections...




RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4