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 /sysutils/gnome-volume-manager/files/patch-src_manager.c | |
| parent | Remove FreeBSD 4.x stuff. (diff) | |
* 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>
Notes
Notes:
svn path=/head/; revision=198315
Diffstat (limited to 'sysutils/gnome-volume-manager/files/patch-src_manager.c')
| -rw-r--r-- | sysutils/gnome-volume-manager/files/patch-src_manager.c | 4 |
1 files changed, 2 insertions, 2 deletions
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); |
