From 50dd54652f5207e34a05ac5fed97e2ad010a59c4 Mon Sep 17 00:00:00 2001 From: Michael Droettboom Date: Thu, 25 Aug 2011 13:31:59 -0400 Subject: [PATCH] Fix error reporting in png extension. --- src/_png.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/_png.cpp b/src/_png.cpp index a2342dc8ebd3..151c8da78b9d 100644 --- a/src/_png.cpp +++ b/src/_png.cpp @@ -234,7 +234,11 @@ Py::Object _png_module::write_png(const Py::Tuple& args) fclose(fp); } - return Py::Object(); + if (PyErr_Occurred()) { + throw Py::Exception(); + } else { + return Py::Object(); + } } static void _read_png_data(PyObject* py_file_obj, png_bytep data, png_size_t length) @@ -475,7 +479,13 @@ _png_module::read_png(const Py::Tuple& args) delete [] row_pointers[row]; } delete [] row_pointers; - return Py::asObject((PyObject*)A); + + if (PyErr_Occurred()) { + Py_DECREF((PyObject *)A); + throw Py::Exception(); + } else { + return Py::asObject((PyObject*)A); + } } extern "C"