From c4c2580d43880ac2013aff5e72674bae379c99a4 Mon Sep 17 00:00:00 2001 From: Nick Coghlan Date: Fri, 15 Nov 2013 21:47:37 +1000 Subject: Close 19609: narrow scope of codec exc chaining --- Python/codecs.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'Python/codecs.c') diff --git a/Python/codecs.c b/Python/codecs.c index e2edc269a85..fe0cab4f7fb 100644 --- a/Python/codecs.c +++ b/Python/codecs.c @@ -370,8 +370,10 @@ PyObject *PyCodec_Encode(PyObject *object, goto onError; result = PyEval_CallObject(encoder, args); - if (result == NULL) + if (result == NULL) { + wrap_codec_error("encoding", encoding); goto onError; + } if (!PyTuple_Check(result) || PyTuple_GET_SIZE(result) != 2) { @@ -392,7 +394,6 @@ PyObject *PyCodec_Encode(PyObject *object, Py_XDECREF(result); Py_XDECREF(args); Py_XDECREF(encoder); - wrap_codec_error("encoding", encoding); return NULL; } @@ -418,8 +419,10 @@ PyObject *PyCodec_Decode(PyObject *object, goto onError; result = PyEval_CallObject(decoder,args); - if (result == NULL) + if (result == NULL) { + wrap_codec_error("decoding", encoding); goto onError; + } if (!PyTuple_Check(result) || PyTuple_GET_SIZE(result) != 2) { PyErr_SetString(PyExc_TypeError, @@ -439,7 +442,6 @@ PyObject *PyCodec_Decode(PyObject *object, Py_XDECREF(args); Py_XDECREF(decoder); Py_XDECREF(result); - wrap_codec_error("decoding", encoding); return NULL; } -- cgit v1.2.3