Wednesday, March 06, 2019

Re: FIX: sigsegv lftp-4.8.4p1

Ping.

On Mon, Mar 04, 2019 at 01:09:11PM +0000, Mikolaj Kucharski wrote:
> Hi,
>
> I've put most of the details in
>
> https://github.com/lavv17/lftp/issues/511
>
> but basically this avoids segfault which I triggered by accident.
> Patch is accepted by upstream and already merged.
>
>
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/net/lftp/Makefile,v
> retrieving revision 1.123
> diff -u -p -u -r1.123 Makefile
> --- Makefile 24 Oct 2018 14:28:08 -0000 1.123
> +++ Makefile 4 Mar 2019 12:37:56 -0000
> @@ -4,7 +4,7 @@ COMMENT= shell-like command line ftp and
>
> DISTNAME= lftp-4.8.4
> CATEGORIES= net
> -REVISION= 0
> +REVISION= 1
>
> HOMEPAGE= https://lftp.tech/
>
> Index: patches/patch-doc_lftp_1
> ===================================================================
> RCS file: /cvs/ports/net/lftp/patches/patch-doc_lftp_1,v
> retrieving revision 1.3
> diff -u -p -u -r1.3 patch-doc_lftp_1
> --- patches/patch-doc_lftp_1 13 Aug 2018 14:36:41 -0000 1.3
> +++ patches/patch-doc_lftp_1 4 Mar 2019 12:37:56 -0000
> @@ -1,5 +1,8 @@
> $OpenBSD: patch-doc_lftp_1,v 1.3 2018/08/13 14:36:41 rsadowski Exp $
>
> +- avoid information loss in both groff and mandoc
> + upstream commit 57b7098a4e0a7d3e7609ef3b2fb00b500df7a060
> +
> Index: doc/lftp.1
> --- doc/lftp.1.orig
> +++ doc/lftp.1
> Index: patches/patch-src_Torrent_cc
> ===================================================================
> RCS file: patches/patch-src_Torrent_cc
> diff -N patches/patch-src_Torrent_cc
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-src_Torrent_cc 4 Mar 2019 12:37:56 -0000
> @@ -0,0 +1,30 @@
> +$OpenBSD$
> +
> +- In MaySendUDP() handle case when socket may not be available yet
> + Upstream commit 66426abe60ef0f8a1be905f171b1281c6b59d138
> +
> +- Add error handling for listen
> + Upstream commit 1f22423244c3867fec745cf0c04cd636e10970a2
> +
> +Index: src/Torrent.cc
> +--- src/Torrent.cc.orig
> ++++ src/Torrent.cc
> +@@ -3830,7 +3830,8 @@ int TorrentListener::Do()
> + }
> + bound:
> + if(type==SOCK_STREAM)
> +- listen(sock,5);
> ++ if(listen(sock,5) < 0)
> ++ LogError(0,"listen failed: %s", strerror(errno));
> +
> + // get the allocated port
> + socklen_t addr_len=sizeof(addr);
> +@@ -3904,6 +3905,8 @@ bool TorrentListener::MaySendUDP()
> + last_sent_udp_count=0;
> + last_sent_udp=now;
> + }
> ++ if (sock==-1)
> ++ return false;
> + // check if output buffer is available
> + struct pollfd pfd;
> + pfd.fd=sock;
>

--
Regards,
Mikolaj

No comments:

Post a Comment