summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Objects/abstract.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/Objects/abstract.c b/Objects/abstract.c
index 5fb89f3..aca60bd 100644
--- a/Objects/abstract.c
+++ b/Objects/abstract.c
@@ -683,6 +683,8 @@ PyBuffer_FillInfo(Py_buffer *view, PyObject *obj, void *buf, Py_ssize_t len,
}
view->obj = obj;
+ if (obj)
+ Py_INCREF(obj);
view->buf = buf;
view->len = len;
view->readonly = readonly;
@@ -710,7 +712,8 @@ PyBuffer_Release(Py_buffer *view)
/* Unmanaged buffer */
return;
Py_TYPE(obj)->tp_as_buffer->bf_releasebuffer(obj, view);
-
+ Py_DECREF(obj);
+ view->obj = NULL;
}
PyObject *