summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarius Gedminas <marius@gedmin.as>2019-06-27 15:50:27 +0300
committerGitHub <noreply@github.com>2019-06-27 15:50:27 +0300
commitf5c811f06989b9282432c628bb445fd110608226 (patch)
tree2503ec75667fa0f9816e1d368b2dea080656f950
parentcd9691fd0665b7fec6b70ba7de87278c36986672 (diff)
parentb7ee3d1e03d3c260cf8abdbdf49369c2cd50a0de (diff)
downloadzope-proxy-f5c811f06989b9282432c628bb445fd110608226.tar.gz
Merge pull request #31 from zopefoundation/fix-error-handling-in-tp_setattro
Fix error handling in the tp_setattro slot
-rw-r--r--CHANGES.rst5
-rw-r--r--src/zope/proxy/_zope_proxy_proxy.c2
2 files changed, 5 insertions, 2 deletions
diff --git a/CHANGES.rst b/CHANGES.rst
index 0bca75d..d31cfee 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -4,7 +4,10 @@ Changes
4.3.2 (unreleased)
------------------
-- Nothing changed yet.
+- Fix error handling in ``ProxyBase.__setattr__``: any the exception raised by
+ ``PyString_AsString``/``PyUnicode_AsUTF8`` would be silently swallowed up
+ and ignored. See `issue 31
+ <https://github.com/zopefoundation/zope.proxy/issues/31>`_.
4.3.1 (2018-08-09)
diff --git a/src/zope/proxy/_zope_proxy_proxy.c b/src/zope/proxy/_zope_proxy_proxy.c
index b64874a..572db97 100644
--- a/src/zope/proxy/_zope_proxy_proxy.c
+++ b/src/zope/proxy/_zope_proxy_proxy.c
@@ -312,7 +312,7 @@ wrap_setattro(PyObject *self, PyObject *name, PyObject *value)
#endif
if (name_as_string == NULL) {
- return NULL;
+ goto finally;
}
descriptor = WrapperType_Lookup(self->ob_type, name);