Dont leak a file descriptor if pthread_create() fails

This commit is contained in:
Kovid Goyal 2019-06-12 21:51:32 +05:30
parent 55969bc3c5
commit 2973cf15a4
No known key found for this signature in database
GPG key ID: 06BC317B515ACE7C

View file

@ -809,7 +809,7 @@ cm_thread_write(PyObject UNUSED *self, PyObject *args) {
data->fd = fd;
memcpy(data->buf, buf, data->sz);
int ret = pthread_create(&thread, NULL, thread_write, data);
if (ret != 0) { free_twd(data); return PyErr_SetFromErrno(PyExc_OSError); }
if (ret != 0) { close(fd); free_twd(data); return PyErr_SetFromErrno(PyExc_OSError); }
pthread_detach(thread);
Py_RETURN_NONE;
}