# HG changeset patch # User Kim Alvefur # Date 1537962730 -7200 # Node ID 31a2be28729cda9f8f1cddc6b8aabc36fd8738bd # Parent 80be543a378532efe8d56ecad72adf5ba2f049a4 net.server_epoll: Protect from errors in get{peer,sock}name diff -r 80be543a3785 -r 31a2be28729c net/server_epoll.lua --- a/net/server_epoll.lua Mon Sep 24 19:47:53 2018 +0200 +++ b/net/server_epoll.lua Wed Sep 26 13:52:10 2018 +0200 @@ -501,11 +501,13 @@ tls_ctx = tls_ctx; }, interface_mt); - if client.getpeername then - conn.peername, conn.peerport = client:getpeername(); + local ok, peername, peerport = pcall(client.getpeername, client); + if ok then + conn.peername, conn.peerport = peername, peerport; end - if client.getsockname then - conn.sockname, conn.sockport = client:getsockname(); + local ok, sockname, sockport = pcall(client.getsockname, client); + if ok then + conn.sockname, conn.sockport = sockname, sockport; end return conn; end