diff options
author | Joe Marcus Clarke <marcus@FreeBSD.org> | 2007-08-26 00:39:38 +0000 |
---|---|---|
committer | Joe Marcus Clarke <marcus@FreeBSD.org> | 2007-08-26 00:39:38 +0000 |
commit | baa9289b9b1dfd5609f6709fa859f60458a9491a (patch) | |
tree | 6ee5d529b10cc273131b4f56adeee8d84b132275 | |
parent | 91ab42dc1d5c867e17214ec25695418453fb1b2b (diff) | |
download | freebsd-ports-baa9289b9b1dfd5609f6709fa859f60458a9491a.zip |
* 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>
-rw-r--r-- | sysutils/gnome-volume-manager/Makefile | 2 | ||||
-rw-r--r-- | sysutils/gnome-volume-manager/files/patch-src_manager.c | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/sysutils/gnome-volume-manager/Makefile b/sysutils/gnome-volume-manager/Makefile index bf5a2e7e98fc..4cefad007494 100644 --- a/sysutils/gnome-volume-manager/Makefile +++ b/sysutils/gnome-volume-manager/Makefile @@ -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 --git a/sysutils/gnome-volume-manager/files/patch-src_manager.c b/sysutils/gnome-volume-manager/files/patch-src_manager.c index a847dd404b6b..6f7256d534fe 100644 --- a/sysutils/gnome-volume-manager/files/patch-src_manager.c +++ b/sysutils/gnome-volume-manager/files/patch-src_manager.c @@ -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); |