aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2012-11-22 23:32:28 +0000
committerRob Austein <sra@hactrn.net>2012-11-22 23:32:28 +0000
commit90f591da79f24ed44aa654b7b5577babad67f2f0 (patch)
treec84c2f254d6afceae71ac4e60642d60fb425b612
parentcfddfa4faf359737ab90d6d063d2997a3d6c9add (diff)
ipaddress_object_from_bytes() wasn't throwing exception correctly on
some forms of bad input. See #355. svn path=/trunk/; revision=4896
-rw-r--r--rpkid/ext/POW.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/rpkid/ext/POW.c b/rpkid/ext/POW.c
index 231b5802..32526fdd 100644
--- a/rpkid/ext/POW.c
+++ b/rpkid/ext/POW.c
@@ -1160,9 +1160,11 @@ ipaddress_object_from_bytes(PyTypeObject *type, PyObject *args)
lose("Unknown IP version number");
memcpy(result->address, bytes, len);
+ return (PyObject *) result;
error:
- return (PyObject *) result;
+ Py_XDECREF(result);
+ return NULL;
}
static char ipaddress_object_to_bytes__doc__[] =