Date: Thu, 14 May 2009 18:16:25 +1000 (EST) From: Mark Andrews <Mark_Andrews@isc.org> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/134526: misc/e2fsprogs-libuuid-1.41.5 infinite loop [patch] Message-ID: <200905140816.n4E8GPLE044311@drugs.dv.isc.org> Resent-Message-ID: <200905140820.n4E8K2iY015386@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>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:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200905140816.n4E8GPLE044311>