Wednesday, March 06, 2019

Re: FIX: sigsegv lftp-4.8.4p1

On 2019/03/06 13:31, Mikolaj Kucharski wrote:
> Ping.

After 2 days? Really?!

> 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