diff options
author | bde <bde@FreeBSD.org> | 1999-01-01 13:15:02 +0000 |
---|---|---|
committer | bde <bde@FreeBSD.org> | 1999-01-01 13:15:02 +0000 |
commit | 591704d5a61874d1f83f92347b630f55bcdecd8a (patch) | |
tree | 8ab6278f8501f42ecfefb991aba450900f277f81 /usr.sbin | |
parent | 1e49b19cb0720459eb397cd5d471a7777f4c27c8 (diff) | |
download | FreeBSD-src-591704d5a61874d1f83f92347b630f55bcdecd8a.zip FreeBSD-src-591704d5a61874d1f83f92347b630f55bcdecd8a.tar.gz |
Fixed overflow in 1K-blocks to disk-blocks conversions. Use quad
arithmetic instead of the special macros in PR 8163 or the magic
2's in PR 381. (Rev.1.3 unfortunately fixed only half of the
problems reported in PR 381.)
PR: 381, 8163
Diffstat (limited to 'usr.sbin')
-rw-r--r-- | usr.sbin/edquota/edquota.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/usr.sbin/edquota/edquota.c b/usr.sbin/edquota/edquota.c index 0110371..0d983a9 100644 --- a/usr.sbin/edquota/edquota.c +++ b/usr.sbin/edquota/edquota.c @@ -45,7 +45,7 @@ static const char copyright[] = static char sccsid[] = "@(#)edquota.c 8.1 (Berkeley) 6/6/93"; #endif static const char rcsid[] = - "$Id$"; + "$Id: edquota.c,v 1.7 1997/09/17 06:29:23 charnier Exp $"; #endif /* not lint */ /* @@ -469,9 +469,11 @@ readprivs(quplist, inname) warnx("%s:%s: bad format", fsp, cp); return (0); } - dqblk.dqb_curblocks = btodb(dqblk.dqb_curblocks * 1024); - dqblk.dqb_bsoftlimit = btodb(dqblk.dqb_bsoftlimit * 1024); - dqblk.dqb_bhardlimit = btodb(dqblk.dqb_bhardlimit * 1024); + dqblk.dqb_curblocks = btodb((off_t)dqblk.dqb_curblocks * 1024); + dqblk.dqb_bsoftlimit = btodb((off_t)dqblk.dqb_bsoftlimit + * 1024); + dqblk.dqb_bhardlimit = btodb((off_t)dqblk.dqb_bhardlimit + * 1024); if ((cp = strtok(line2, "\n")) == NULL) { warnx("%s: %s: bad format", fsp, line2); return (0); |