diff options
author | marcus <marcus@FreeBSD.org> | 2007-08-26 08:39:38 +0800 |
---|---|---|
committer | marcus <marcus@FreeBSD.org> | 2007-08-26 08:39:38 +0800 |
commit | a511dae0947e1fbfe6bc851dd7057d990691894d (patch) | |
tree | c34ef43ec692fc393c5fc8b1570377ed64f535b1 /sysutils | |
parent | 965547b4da608e7da2af47fe56f91359247f9546 (diff) | |
download | freebsd-ports-gnome-a511dae0947e1fbfe6bc851dd7057d990691894d.tar.gz freebsd-ports-gnome-a511dae0947e1fbfe6bc851dd7057d990691894d.tar.zst freebsd-ports-gnome-a511dae0947e1fbfe6bc851dd7057d990691894d.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>
Diffstat (limited to 'sysutils')
-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); |