[prev in list] [next in list] [prev in thread] [next in thread]
List: python-patches
Subject: [Patches] [ python-Patches-980082 ] Missing INCREF in PyType_Ready
From: noreply () sourceforge ! net (SourceForge ! net)
Date: 2004-06-29 14:39:38
Message-ID: E1BfNVv-0001sL-00 () sc8-sf-web4 ! sourceforge ! net
[Download RAW message or body]
Patches item #980082, was opened at 2004-06-25 17:37
Message generated for change (Comment added) made by ehuss
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=305470&aid=980082&group_id=5470
Category: Core (C code)
Group: None
Status: Open
Resolution: None
Priority: 5
Submitted By: Eric Huss (ehuss)
Assigned to: Nobody/Anonymous (nobody)
Summary: Missing INCREF in PyType_Ready
Initial Comment:
In PyType_Ready() if the type object you are readying
does not explicitly define its tp_base value, it will
default to use PyBaseObject_Type.
However, this assignment does not INCREF the
PyBaseObject_Type pointer. Thus, for heap allocated
type objects, when the type_dealloc() function is
called, a DECREF is called on tp_base which can
eventually cause PyBaseObject_Type refcount go to 0,
at which point bad things happen.
----------------------------------------------------------------------
>Comment By: Eric Huss (ehuss)
Date: 2004-06-29 11:39
Message:
Logged In: YES
user_id=393416
There are relatively few ways to make a heap allocated type
object. I have made a method to create structseq type
objects on the heap (see sf patch 980098). There doesn't
appear to be a direct API to do it, so I did it manually. Since
the Type_Ready code has a check for NULL bases, one might
as well take advantage of it.
----------------------------------------------------------------------
Comment By: Michael Hudson (mwh)
Date: 2004-06-29 09:06
Message:
Logged In: YES
user_id=6656
I'm not sure this is actually a real problem. I don't think
you can get into the "base == NULL" case with a heap type...
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=305470&aid=980082&group_id=5470
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic