Date: Thu, 23 May 1996 19:54:51 -0400 (EDT) From: taob@io.org To: FreeBSD-gnats-submit@freebsd.org Subject: bin/1240: Cosmetic format error in pkg_* Message-ID: <199605232354.TAA11573@cabal.io.org> Resent-Message-ID: <199605240000.RAA06823@freefall.freebsd.org>
index | next in thread | raw e-mail
>Number: 1240
>Category: bin
>Synopsis: Wrong format used to print amount of free disk space
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-bugs
>State: open
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Thu May 23 17:00:07 PDT 1996
>Last-Modified:
>Originator: Brian Tao
>Organization:
Internex Online Inc., Toronto, Ontario, Canada
>Release: FreeBSD 2.2-960501-SNAP i386
>Environment:
Need /var/tmp filesystem with > 2GB free space and/or package
larger than 2GB uncompressed.
>Description:
The size of the package and the amount of free disk space in
/var/tmp are size_t ints when they probably ought to be off_t ints.
At the very least, they should be unsigned.
>How-To-Repeat:
# df /var/tmp
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/sd0s1f 3476622 459 3198034 0% /var
# pkg_add -v top-3.3.tgz
Requested space: 86840 bytes, free space: -1020177408 bytes in /var/tmp/instmp.010105
[...]
>Fix:
This is an incomplete fix in that filesystems with more than 4GB
of free space will produce the format error. I tried replacing the
size_t's with off_t's, but the disk space check in find_play_pen()
would incorrectly think that (for example) 3274789888 was not greater
than 86840. Is this a comparison bug in gcc?
*** /usr/src/usr.sbin/pkg_install/lib/pen.c Thu May 23 19:32:41 1996
--- /usr/src/usr.sbin/pkg_install/lib/pen.c-orig Thu May 23 19:31:51 1996
***************
*** 87,93 ****
}
if (Verbose) {
if (sz)
! fprintf(stderr, "Requested space: %d bytes, free space: %u bytes in %s\n", (int)sz, min_free(pen), pen);
}
if (min_free(pen) < sz) {
rmdir(pen);
--- 87,93 ----
}
if (Verbose) {
if (sz)
! fprintf(stderr, "Requested space: %d bytes, free space: %d bytes in %s\n", (int)sz, min_free(pen), pen);
}
if (min_free(pen) < sz) {
rmdir(pen);
>Audit-Trail:
>Unformatted:
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199605232354.TAA11573>
