diff options
author | Jeremy Hylton <jeremy@alum.mit.edu> | 2002-07-25 16:37:51 (GMT) |
---|---|---|
committer | Jeremy Hylton <jeremy@alum.mit.edu> | 2002-07-25 16:37:51 (GMT) |
commit | 825e47b655623dff7ca515b28fe5d7b0ecfe7ad1 (patch) | |
tree | feb7dbd40bf54ec26294e6881dbb4eb807933c82 /Modules | |
parent | ead36d787434d60cdd697df8debf552cc6d9888c (diff) | |
download | cpython-825e47b655623dff7ca515b28fe5d7b0ecfe7ad1.zip cpython-825e47b655623dff7ca515b28fe5d7b0ecfe7ad1.tar.gz cpython-825e47b655623dff7ca515b28fe5d7b0ecfe7ad1.tar.bz2 |
Put checks for error returns in the right place.
Diffstat (limited to 'Modules')
-rw-r--r-- | Modules/socketmodule.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c index 39809f4..d7354ba 100644 --- a/Modules/socketmodule.c +++ b/Modules/socketmodule.c @@ -2475,9 +2475,13 @@ socket_ntohl(PyObject *self, PyObject *arg) if (PyInt_Check(arg)) { x = PyInt_AS_LONG(arg); + if (x == (unsigned long) -1 && PyErr_Occurred()) + return NULL; } else if (PyLong_Check(arg)) { x = PyLong_AsUnsignedLong(arg); + if (x == (unsigned long) -1 && PyErr_Occurred()) + return NULL; #if SIZEOF_LONG > 4 { unsigned long y; @@ -2530,9 +2534,13 @@ socket_htonl(PyObject *self, PyObject *arg) if (PyInt_Check(arg)) { x = PyInt_AS_LONG(arg); + if (x == (unsigned long) -1 && PyErr_Occurred()) + return NULL; } else if (PyLong_Check(arg)) { x = PyLong_AsUnsignedLong(arg); + if (x == (unsigned long) -1 && PyErr_Occurred()) + return NULL; #if SIZEOF_LONG > 4 { unsigned long y; @@ -2549,8 +2557,6 @@ socket_htonl(PyObject *self, PyObject *arg) return PyErr_Format(PyExc_TypeError, "expected int/long, %s found", arg->ob_type->tp_name); - if (x == (unsigned long) -1 && PyErr_Occurred()) - return NULL; return PyInt_FromLong(htonl(x)); } |