summaryrefslogtreecommitdiffstats
path: root/Objects/tupleobject.c
diff options
context:
space:
mode:
Diffstat (limited to 'Objects/tupleobject.c')
-rw-r--r--Objects/tupleobject.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/Objects/tupleobject.c b/Objects/tupleobject.c
index 9ae732f..6401dca 100644
--- a/Objects/tupleobject.c
+++ b/Objects/tupleobject.c
@@ -146,7 +146,10 @@ tupledealloc(register PyTupleObject *op)
while (--i >= 0)
Py_XDECREF(op->ob_item[i]);
#if MAXSAVESIZE > 0
- if (len < MAXSAVESIZE && num_free_tuples[len] < MAXSAVEDTUPLES) {
+ if (len < MAXSAVESIZE &&
+ num_free_tuples[len] < MAXSAVEDTUPLES &&
+ op->ob_type == &PyTuple_Type)
+ {
op->ob_item[0] = (PyObject *) free_tuples[len];
num_free_tuples[len]++;
free_tuples[len] = op;
@@ -594,7 +597,7 @@ _PyTuple_Resize(PyObject **pv, int newsize)
int sizediff;
v = (PyTupleObject *) *pv;
- if (v == NULL || !PyTuple_Check(v) ||
+ if (v == NULL || v->ob_type != &PyTuple_Type ||
(v->ob_size != 0 && v->ob_refcnt != 1)) {
*pv = 0;
Py_XDECREF(v);