From 0da68dee98d035f398c8241110e749cc2befdae5 Mon Sep 17 00:00:00 2001 From: Eric Soroos Date: Wed, 24 Jan 2018 13:22:51 +0000 Subject: [PATCH] Fix leak opening _webp files --- src/_webp.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/_webp.c b/src/_webp.c index 67a9e6b66..f82feb46a 100644 --- a/src/_webp.c +++ b/src/_webp.c @@ -410,6 +410,7 @@ PyObject* _anim_decoder_get_next(PyObject* self, PyObject* args) uint8_t* buf; int timestamp; PyObject* bytes; + PyObject* ret; WebPAnimDecoderObject* decp = (WebPAnimDecoderObject*)self; if (!WebPAnimDecoderGetNext(decp->dec, &buf, ×tamp)) { @@ -419,7 +420,11 @@ PyObject* _anim_decoder_get_next(PyObject* self, PyObject* args) bytes = PyBytes_FromStringAndSize((char *)buf, decp->info.canvas_width * 4 * decp->info.canvas_height); - return Py_BuildValue("Si", bytes, timestamp); + + ret = Py_BuildValue("Si", bytes, timestamp); + + Py_DECREF(bytes); + return ret; } PyObject* _anim_decoder_has_more_frames(PyObject* self, PyObject* args)