From ab4b59afb9511fbc5d9ae569f4e27c23565910df Mon Sep 17 00:00:00 2001 From: fbernon Date: Mon, 11 Jun 2007 20:16:38 +0000 Subject: [PATCH] Partial fix for bug# 20147: "getsockopt() with SO_ERROR option" 'socket layer error is not updated if no operation on netconn). --- src/api/sockets.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/api/sockets.c b/src/api/sockets.c index 568dfd3d..b3d42335 100644 --- a/src/api/sockets.c +++ b/src/api/sockets.c @@ -1204,6 +1204,9 @@ static void lwip_getsockopt_internal(void *arg) break; case SO_ERROR: + if (sock->err == 0) { + sock_set_errno(sock, err_to_errno(sock->conn->err)); + } *(int *)optval = sock->err; sock->err = 0; LWIP_DEBUGF(SOCKETS_DEBUG, ("lwip_getsockopt(%d, SOL_SOCKET, SO_ERROR) = %d\n",