From owner-freebsd-current@FreeBSD.ORG Tue Aug 24 20:53:58 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id AF9B416A4E0 for ; Tue, 24 Aug 2004 20:53:58 +0000 (GMT) Received: from mail.mcneil.com (rrcs-west-24-199-45-54.biz.rr.com [24.199.45.54]) by mx1.FreeBSD.org (Postfix) with ESMTP id 84A0243D1F for ; Tue, 24 Aug 2004 20:53:58 +0000 (GMT) (envelope-from sean@mcneil.com) Received: from localhost (localhost.mcneil.com [127.0.0.1]) by mail.mcneil.com (Postfix) with ESMTP id EED7DFD02A; Tue, 24 Aug 2004 13:53:53 -0700 (PDT) Received: from mail.mcneil.com ([127.0.0.1]) by localhost (server.mcneil.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 00575-07; Tue, 24 Aug 2004 13:53:53 -0700 (PDT) Received: from [24.199.45.54] (mcneil.com [24.199.45.54]) by mail.mcneil.com (Postfix) with ESMTP id 7AC26FD026; Tue, 24 Aug 2004 13:53:53 -0700 (PDT) From: Sean McNeil To: Giorgos Keramidas In-Reply-To: <20040824204917.GA3348@gothmog.gr> References: <1092777586.92327.9.camel@server.mcneil.com> <1093369220.10362.6.camel@server.mcneil.com> <20040824200225.V517@beagle.kn.op.dlr.de> <1093371600.10464.23.camel@server.mcneil.com> <20040824205417.L517@beagle.kn.op.dlr.de> <1093377802.43728.11.camel@server.mcneil.com> <20040824204917.GA3348@gothmog.gr> Content-Type: text/plain Message-Id: <1093380833.73407.1.camel@server.mcneil.com> Mime-Version: 1.0 X-Mailer: Ximian Evolution 1.4.6 Date: Tue, 24 Aug 2004 13:53:53 -0700 Content-Transfer-Encoding: 7bit X-Virus-Scanned: by amavisd-new at mcneil.com cc: current@freebsd.org Subject: Re: bsdtar core dumps X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Aug 2004 20:53:58 -0000 On Tue, 2004-08-24 at 13:49, Giorgos Keramidas wrote: > Hi Sean, > > Does the patch below also solve the problems with tar you were > experiencing? Yes, the libarchive patch solves my core dump with bsdtar and the vfprintf.c is for correctness. > On 2004-08-24 13:03, Sean McNeil wrote: > > *** lib/libarchive/archive_string_sprintf.c.orig Fri Aug 13 > > 20:45:45 2004--- lib/libarchive/archive_string_sprintf.c Tue Aug 24 > > 12:58:24 2004 > > *************** __archive_string_vsprintf(struct archive > > *** 47,65 **** > > va_list ap) > > { > > size_t l; > > > > if (fmt == NULL) { > > as->s[0] = 0; > > return; > > } > > > > l = vsnprintf(as->s, as->buffer_length, fmt, ap); > > /* If output is bigger than the buffer, resize and try again. */ > > if (l+1 >= as->buffer_length) { > > __archive_string_ensure(as, l + 1); > > ! l = vsnprintf(as->s, as->buffer_length, fmt, ap); > > } > > as->length = l; > > } > > > > /* > > --- 47,68 ---- > > va_list ap) > > { > > size_t l; > > + va_list ap1; > > > > if (fmt == NULL) { > > as->s[0] = 0; > > return; > > } > > > > + va_copy(ap1,ap); > > l = vsnprintf(as->s, as->buffer_length, fmt, ap); > > /* If output is bigger than the buffer, resize and try again. */ > > if (l+1 >= as->buffer_length) { > > __archive_string_ensure(as, l + 1); > > ! l = vsnprintf(as->s, as->buffer_length, fmt, ap1); > > } > > as->length = l; > > + va_end(ap1); > > } > > > > /* > > > > *** lib/libc/stdio/vfprintf.c.orig Mon Aug 23 20:35:43 2004 > > --- lib/libc/stdio/vfprintf.c Tue Aug 24 13:01:45 2004 > > *************** error: > > *** 1237,1242 **** > > --- 1237,1243 ---- > > if (dtoaresult != NULL) > > freedtoa(dtoaresult); > > #endif > > + va_end(orgap); > > if (convbuf != NULL) > > free(convbuf); > > if (__sferror(fp)) > > >