Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 27 Oct 2002 22:38:36 -0500
From:      Craig Rodrigues <rodrigc@attbi.com>
To:        Manfred Antar <null@pozo.com>
Cc:        current@freebsd.org, des@freebsd.org
Subject:   Re: Latest fetch on current broken
Message-ID:  <20021027223836.A51789@attbi.com>
In-Reply-To: <20021027222102.A51684@attbi.com>; from rodrigc@attbi.com on Sun, Oct 27, 2002 at 10:21:02PM -0500
References:  <5.1.1.6.2.20021027153430.00a796a8@pozo.com> <5.1.1.6.2.20021027153430.00a796a8@pozo.com> <20021027212702.A51436@attbi.com> <5.1.1.6.2.20021027183013.00abaec0@pozo.com> <20021027222102.A51684@attbi.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Oct 27, 2002 at 10:21:02PM -0500, Craig Rodrigues wrote:
> On Sun, Oct 27, 2002 at 06:31:27PM -0800, Manfred Antar wrote:
> > I noticed it when doing a portupgrade cdrtools
> > So yes anything that uses fetch is not going to work
> 
> OK, I started tracing this down.
> 
> Here's how to get debugging versions:
> cd /usr/src/lib/libfetch
> make clean
> make DEBUG_FLAGS=-g 
> make DEBUG_FLAGS=-g  install
> 
> cd /usr/src/usr.bin/fetch
> make clean
> make DEBUG_FLAGS=-g NOSHARED=yes
> make DEBUG_FLAGS=-g NOSHARED=yes install


I tracked this down further to the _fetch_writev() function
in libfetch/common.c.  Try this patch:

--- lib/libfetch/common.c.orig	Sun Oct 27 22:38:16 2002
+++ lib/libfetch/common.c	Sun Oct 27 22:40:12 2002
@@ -525,7 +525,7 @@
 			return (-1);
 		}
 		total += wlen;
-		while (iovcnt > 0 && wlen > iov->iov_len) {
+		while (iovcnt > 0 && wlen >= iov->iov_len) {
 			wlen -= iov->iov_len;
 			iov++;
 			iovcnt--;

-- 
Craig Rodrigues        
http://www.gis.net/~craigr    
rodrigc@attbi.com

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20021027223836.A51789>