]> granicus.if.org Git - python/commitdiff
Make obj an owned reference in Py_buffer; this checkin
authorMartin v. Löwis <martin@v.loewis.de>
Thu, 14 Aug 2008 15:54:27 +0000 (15:54 +0000)
committerMartin v. Löwis <martin@v.loewis.de>
Thu, 14 Aug 2008 15:54:27 +0000 (15:54 +0000)
was missing from the patch for #3139.

Objects/abstract.c

index 5fb89f367285ef895a53e98ed0aac21d3aa264da..aca60bdfcf5f541290a28d677951706c549c38c7 100644 (file)
@@ -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 *