]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
plug some leaks
authorGuido van Rossum <guido@python.org>
Wed, 13 Sep 1995 18:39:47 +0000 (18:39 +0000)
committerGuido van Rossum <guido@python.org>
Wed, 13 Sep 1995 18:39:47 +0000 (18:39 +0000)
Modules/socketmodule.c

index 571a751743554d0d3a9d8685da11d8a3bd3626c7..29877465cf31e1632f20002aaa813852607a4ccf 100644 (file)
@@ -779,8 +779,10 @@ BUILD_FUNC_DEF_2(PySocketSock_recv,PySocketSockObject *,s, PyObject *,args)
        Py_BEGIN_ALLOW_THREADS
        n = recv(s->sock_fd, PyString_AsString(buf), len, flags);
        Py_END_ALLOW_THREADS
-       if (n < 0)
+       if (n < 0) {
+               Py_DECREF(buf);
                return PySocket_Err();
+       }
        if (_PyString_Resize(&buf, n) < 0)
                return NULL;
        return buf;
@@ -814,8 +816,10 @@ BUILD_FUNC_DEF_2(PySocketSock_recvfrom,PySocketSockObject *,s, PyObject *,args)
                     (struct sockaddr *)addrbuf, &addrlen);
 #endif
        Py_END_ALLOW_THREADS
-       if (n < 0)
+       if (n < 0) {
+               Py_DECREF(buf);
                return PySocket_Err();
+       }
        if (_PyString_Resize(&buf, n) < 0)
                return NULL;
        addr = makesockaddr((struct sockaddr *)addrbuf, addrlen);