From mwisnicki@gmail.com  Thu Aug 23 23:09:41 2007
Return-Path: <mwisnicki@gmail.com>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 4FBDF16A417
	for <FreeBSD-gnats-submit@freebsd.org>; Thu, 23 Aug 2007 23:09:41 +0000 (UTC)
	(envelope-from mwisnicki@gmail.com)
Received: from hu-out-0506.google.com (hu-out-0506.google.com [72.14.214.226])
	by mx1.freebsd.org (Postfix) with ESMTP id D105013C458
	for <FreeBSD-gnats-submit@freebsd.org>; Thu, 23 Aug 2007 23:09:40 +0000 (UTC)
	(envelope-from mwisnicki@gmail.com)
Received: by hu-out-0506.google.com with SMTP id 28so232304hub
        for <FreeBSD-gnats-submit@freebsd.org>; Thu, 23 Aug 2007 16:09:39 -0700 (PDT)
Received: by 10.86.74.15 with SMTP id w15mr1741660fga.1187910579148;
        Thu, 23 Aug 2007 16:09:39 -0700 (PDT)
Received: from ghost.pnet.one.pl ( [84.40.242.20])
        by mx.google.com with ESMTPS id g8sm9012867muf.2007.08.23.16.09.37
        (version=TLSv1/SSLv3 cipher=OTHER);
        Thu, 23 Aug 2007 16:09:38 -0700 (PDT)
Received: by ghost.pnet.one.pl (sSMTP sendmail emulation); Fri, 24 Aug 2007 01:09:35 +0200
Message-Id: <46ce13b2.08b7660a.4c6c.ffffeae7@mx.google.com>
Date: Fri, 24 Aug 2007 01:09:35 +0200
From: Marcin Wisnicki <mwisnicki+freebsd@gmail.com>
Sender: =?UTF-8?B?TWFyY2luIFdpxZtuaWNraQ==?= <mwisnicki@gmail.com>
To: FreeBSD-gnats-submit@freebsd.org
Cc: gnome@FreeBSD.org
Subject: [PATCH] sysutils/gnome-volume-manager: inifite loop on startup
X-Send-Pr-Version: 3.113
X-GNATS-Notify:

>Number:         115771
>Category:       ports
>Synopsis:       [PATCH] sysutils/gnome-volume-manager: inifite loop on startup
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    gnome
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Thu Aug 23 23:10:01 GMT 2007
>Closed-Date:    Sun Aug 26 00:39:52 GMT 2007
>Last-Modified:  Sun Aug 26 00:40:01 GMT 2007
>Originator:     Marcin Wisnicki
>Release:        FreeBSD 6.2-STABLE i386
>Organization:
>Environment:
System: FreeBSD ghost.pnet.one.pl 6.2-STABLE FreeBSD 6.2-STABLE #8: Tue Aug  7 15:03:32 CEST
>Description:

Integer underflow will cause "while (!local && --len >= 0)" to be always true
if no local entry was found in the loop.

I have also changed wtmp to utmp as we are looking for current users.

With this patch g-v-m no longer hangs in my Xvnc-based jail.

Port maintainer (gnome@FreeBSD.org) is cc'd.

Generated with FreeBSD Port Tools 0.77
>How-To-Repeat:
>Fix:

--- gnome-volume-manager-2.17.0_5.patch begins here ---
diff -ruN --exclude=CVS /usr/ports/sysutils/gnome-volume-manager.orig/Makefile /usr/ports/sysutils/gnome-volume-manager/Makefile
--- /usr/ports/sysutils/gnome-volume-manager.orig/Makefile	2007-05-28 01:14:14.000000000 +0200
+++ /usr/ports/sysutils/gnome-volume-manager/Makefile	2007-08-24 00:23:44.000000000 +0200
@@ -8,7 +8,7 @@
 
 PORTNAME=	gnome-volume-manager
 PORTVERSION=	2.17.0
-PORTREVISION=	4
+PORTREVISION=	5
 CATEGORIES=	sysutils gnome
 MASTER_SITES=	${MASTER_SITE_GNOME}
 MASTER_SITE_SUBDIR=	sources/${PORTNAME}/${PORTVERSION:R}
diff -ruN --exclude=CVS /usr/ports/sysutils/gnome-volume-manager.orig/files/patch-src_manager.c /usr/ports/sysutils/gnome-volume-manager/files/patch-src_manager.c
--- /usr/ports/sysutils/gnome-volume-manager.orig/files/patch-src_manager.c	2007-03-25 05:05:54.000000000 +0200
+++ /usr/ports/sysutils/gnome-volume-manager/files/patch-src_manager.c	2007-08-24 00:23:26.000000000 +0200
@@ -205,14 +205,14 @@
  		endutent ();
  	}
 +#else
-+	if ((fd = open (_PATH_WTMP, O_RDONLY, 0)) < 0 || fstat(fd, &sb) == -1) {
++	if ((fd = open (_PATH_UTMP, O_RDONLY, 0)) < 0 || fstat(fd, &sb) == -1) {
 +		close (fd);
 +		return TRUE;
 +	}
 +
 +	len = (sb.st_size + sizeof(buf) - 1) / sizeof(buf);
 +
-+	while (!local && --len >= 0) {
++	while (!local && len-- > 0) {
 +		if (lseek(fd, (off_t) (len * sizeof(buf)), L_SET) == -1 ||
 +				(bytes = read (fd, buf, sizeof(buf))) == -1) {
 +			close (fd);
--- gnome-volume-manager-2.17.0_5.patch ends here ---

>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-ports-bugs->gnome 
Responsible-Changed-By: edwin 
Responsible-Changed-When: Thu Aug 23 23:10:09 UTC 2007 
Responsible-Changed-Why:  
Over to maintainer 

http://www.freebsd.org/cgi/query-pr.cgi?pr=115771 
State-Changed-From-To: open->closed 
State-Changed-By: marcus 
State-Changed-When: Sun Aug 26 00:39:41 UTC 2007 
State-Changed-Why:  
Committed, thanks! 

http://www.freebsd.org/cgi/query-pr.cgi?pr=115771 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: ports/115771: commit references a PR
Date: Sun, 26 Aug 2007 00:39:44 +0000 (UTC)

 marcus      2007-08-26 00:39:38 UTC
 
   FreeBSD ports repository
 
   Modified files:
     sysutils/gnome-volume-manager Makefile 
     sysutils/gnome-volume-manager/files patch-src_manager.c 
   Log:
   * Read from utmp rather than wtmp since we are looking for current users
   * Fix an integer underflow which could result in an infinite loop on startup
   
   PR:             115771
   Submitted by:   Marcin Wisnicki <mwisnicki+freebsd@gmail.com>
   
   Revision  Changes    Path
   1.7       +1 -1      ports/sysutils/gnome-volume-manager/Makefile
   1.4       +2 -2      ports/sysutils/gnome-volume-manager/files/patch-src_manager.c
 _______________________________________________
 cvs-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/cvs-all
 To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
 
>Unformatted:
