From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Fri, 24 Aug 2018 16:07:48 +0300 From: Vladimir Davydov Subject: Re: [PATCH 3/3] socket: prevent recvfrom from returning garbage Message-ID: <20180824130748.duye24rcblum5f4z@esperanza> References: <0c53f7379963bb5fb61c97e08d782357bd82f562.1535076888.git.alexander.turenko@tarantool.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <0c53f7379963bb5fb61c97e08d782357bd82f562.1535076888.git.alexander.turenko@tarantool.org> To: Alexander Turenko Cc: tarantool-patches@freelists.org, Yaroslav Dynnikov List-ID: On Fri, Aug 24, 2018 at 05:47:39AM +0300, Alexander Turenko wrote: > In C recvfrom function sets addrlen parameter to zero when called on TCP > socket (at least on Linux). The src_addr parameter can contain garbage > in the case, so we should not dereference it. > > Before this commit socket:recvfrom() can return 'from' table with only > family field (don't sure why, but addr->sa_family often contain PF_INET > value in my case) or return nil depending on the garbage at the address. > Now it always return nil. > --- > src/lua/socket.c | 5 +++++ > 1 file changed, 5 insertions(+) Could you please add a test case?