From owner-freebsd-ports-bugs@FreeBSD.ORG Thu May 14 08:20:03 2009 Return-Path: Delivered-To: freebsd-ports-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0A0601065672 for ; Thu, 14 May 2009 08:20:03 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id CD8FC8FC1A for ; Thu, 14 May 2009 08:20:02 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id n4E8K28N015387 for ; Thu, 14 May 2009 08:20:02 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id n4E8K2iY015386; Thu, 14 May 2009 08:20:02 GMT (envelope-from gnats) Resent-Date: Thu, 14 May 2009 08:20:02 GMT Resent-Message-Id: <200905140820.n4E8K2iY015386@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-ports-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Mark Andrews Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 51BC11065679 for ; Thu, 14 May 2009 08:16:28 +0000 (UTC) (envelope-from Mark_Andrews@isc.org) Received: from farside.isc.org (farside.isc.org [IPv6:2001:4f8:3:bb::5]) by mx1.freebsd.org (Postfix) with ESMTP id 24FDA8FC21 for ; Thu, 14 May 2009 08:16:28 +0000 (UTC) (envelope-from Mark_Andrews@isc.org) Received: from drugs.dv.isc.org (drugs.dv.isc.org [IPv6:2001:470:1f00:820:214:22ff:fed9:fbdc]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "drugs.dv.isc.org", Issuer "ISC CA" (not verified)) by farside.isc.org (Postfix) with ESMTP id 771CDE6068 for ; Thu, 14 May 2009 08:16:27 +0000 (UTC) (envelope-from marka@isc.org) Received: from drugs.dv.isc.org (localhost [127.0.0.1]) by drugs.dv.isc.org (8.14.3/8.14.3) with ESMTP id n4E8GPVC044312 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Thu, 14 May 2009 18:16:25 +1000 (EST) (envelope-from marka@drugs.dv.isc.org) Received: (from marka@localhost) by drugs.dv.isc.org (8.14.3/8.14.3/Submit) id n4E8GPLE044311; Thu, 14 May 2009 18:16:25 +1000 (EST) (envelope-from marka) Message-Id: <200905140816.n4E8GPLE044311@drugs.dv.isc.org> Date: Thu, 14 May 2009 18:16:25 +1000 (EST) From: Mark Andrews To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Cc: Subject: ports/134526: misc/e2fsprogs-libuuid-1.41.5 infinite loop [patch] X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Mark Andrews List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 May 2009 08:20:03 -0000 >Number: 134526 >Category: ports >Synopsis: misc/e2fsprogs-libuuid-1.41.5 infinite loop [patch] >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Thu May 14 08:20:02 UTC 2009 >Closed-Date: >Last-Modified: >Originator: Mark Andrews >Release: FreeBSD 6.4-STABLE i386 >Organization: ISC >Environment: System: FreeBSD drugs.dv.isc.org 6.4-STABLE FreeBSD 6.4-STABLE #31: Thu Apr 30 07:41:29 EST 2009 marka@drugs.dv.isc.org:/usr/obj/usr/src/sys/DRUGS i386 /usr/local/sbin/uuidd was installed by package e2fsprogs-libuuid-1.41.4_1 >Description: misc/e2fsprogs-libuuid-1.41.5 enters a infinite loop in "make check". What is happening is that close_all_fds() does just that which results in uuidd from e2fsprogs-libuuid-1.41.4_1 exiting unexpectedly. read_all() then fails to handle the resulting eof. >How-To-Repeat: Attempt to build misc/e2fsprogs-libuuid-1.41.5. >Fix: --- gen_uuid.c.orig 2009-05-14 17:57:54.000000000 +1000 +++ gen_uuid.c 2009-05-14 17:54:06.000000000 +1000 @@ -423,6 +423,8 @@ memset(buf, 0, count); while (count > 0) { ret = read(fd, buf, count); + if (ret == 0) + return c; if (ret < 0) { perror("read"); if ((errno == EAGAIN) || (errno == EINTR)) >Release-Note: >Audit-Trail: >Unformatted: