From owner-freebsd-ports Thu Feb 22 9:10:19 2001 Delivered-To: freebsd-ports@hub.freebsd.org Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 8702C37B6AA for ; Thu, 22 Feb 2001 09:10:01 -0800 (PST) (envelope-from gnats@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.11.1/8.11.1) id f1MHA1719091; Thu, 22 Feb 2001 09:10:01 -0800 (PST) (envelope-from gnats) Received: from yoda.fwe.pi.musin.de (yoda.fwe.pi.musin.de [194.246.250.18]) by hub.freebsd.org (Postfix) with ESMTP id 8726337B698; Thu, 22 Feb 2001 09:03:38 -0800 (PST) (envelope-from sec@yoda.fwe.pi.musin.de) Received: (from sec@localhost) by yoda.fwe.pi.musin.de (8.11.2/8.11.2) id f1MH3Z146889; Thu, 22 Feb 2001 18:03:35 +0100 (CET) (envelope-from sec) Message-Id: <200102221703.f1MH3Z146889@yoda.fwe.pi.musin.de> Date: Thu, 22 Feb 2001 18:03:35 +0100 (CET) From: Stefan `Sec` Zehl Reply-To: sec@yoda.fwe.pi.musin.de To: FreeBSD-gnats-submit@freebsd.org Cc: schilling@fokus.gmd.de, dirk@freebsd.org X-Send-Pr-Version: 3.2 Subject: ports/25286: mkisofs-1.13 core dump. Sender: owner-freebsd-ports@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org >Number: 25286 >Category: ports >Synopsis: mkisofs-1.13 core dump. >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Thu Feb 22 09:10:01 PST 2001 >Closed-Date: >Last-Modified: >Originator: Stefan `Sec` Zehl >Release: FreeBSD 4.2-STABLE i386 >Organization: >Environment: mkisofs-1.13 built on an FreeBSD-4.2 system from the ports >Description: mkisofs cores when generating iso's with more than a few bytes. I traced this down to a segmentation fault in __dtoa. This occures when mkisofs tries to ouput the: " 2.60% done, estimate finish Thu Feb 22 17:56:16 2001" message. After much debugging, I found out that mkisofs uses a wrong prototype for the __dtoa function. After I corrected it, and the two offending calls, it now works fine. Das kommt davon wenn man nicht-oeffentliche Funktionen benutzt *seufz* >How-To-Repeat: mkisofs -o /tmp/test.img /directory (/directory should have somewhere between 100 and 600 MB in size) >Fix: Apply this patch. --- mkisofs-1.13/lib/cvt.c.org Wed Sep 8 15:03:20 1999 +++ mkisofs-1.13/lib/cvt.c Thu Feb 22 17:54:38 2001 @@ -31,7 +31,7 @@ #include #ifdef HAVE_DTOA /* 4.4BSD floating point implementation */ -extern char *__dtoa __PR((double value, int mode, int ndigit, int *decpt, int *sign, char **ep)); +extern char *__dtoa __PR((double value, int mode, int ndigit, int *decpt, int *sign, char **ep, char ** rp)); #endif #ifndef HAVE_ECVT @@ -57,7 +57,7 @@ static char *buf; char *bufend; char *ep; - char *bp = __dtoa(value, 2, ndigit, decpt, sign, &ep); + char *bp = __dtoa(value, 2, ndigit, decpt, sign, &ep, &bp); if (value == 0.0) { /* @@ -102,7 +102,7 @@ static char *buf; char *bufend; char *ep; - char *bp = __dtoa(value, 3, ndigit, decpt, sign, &ep); + char *bp = __dtoa(value, 3, ndigit, decpt, sign, &ep, &bp); if (value == 0.0) { /* >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ports" in the body of the message