From: Jeremy Hylton Date: Thu, 25 Jul 2002 16:37:51 +0000 (+0000) Subject: Put checks for error returns in the right place. X-Git-Tag: v2.3c1~4870 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=825e47b655623dff7ca515b28fe5d7b0ecfe7ad1;p=python Put checks for error returns in the right place. --- diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c index 39809f43fe..d7354ba1f1 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)); }