From 93f2edba15da3ec98e4f7a7964400466e97b52c8 Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Thu, 6 Jun 2002 20:10:16 +0000 Subject: [PATCH] Backport: The tp_new implementation should initialize the errorhandler field, otherwise this code could segfault: from socket import socket s = socket.__new__(socket) s.recv(100) --- Modules/socketmodule.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c index 47ddcd54141d..172a507e87f2 100644 --- a/Modules/socketmodule.c +++ b/Modules/socketmodule.c @@ -1800,8 +1800,10 @@ PySocketSock_new(PyTypeObject *type, PyObject *args, PyObject *kwds) PyObject *new; new = type->tp_alloc(type, 0); - if (new != NULL) + if (new != NULL) { ((PySocketSockObject *)new)->sock_fd = -1; + ((PySocketSockObject *)new)->errorhandler = &PySocket_Err; + } return new; } -- 2.47.3