diff options
Diffstat (limited to 'gnu/libexec/uucp/libunix/bytfre.c')
-rw-r--r-- | gnu/libexec/uucp/libunix/bytfre.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gnu/libexec/uucp/libunix/bytfre.c b/gnu/libexec/uucp/libunix/bytfre.c index 568eebe..3091e7a 100644 --- a/gnu/libexec/uucp/libunix/bytfre.c +++ b/gnu/libexec/uucp/libunix/bytfre.c @@ -7,6 +7,12 @@ #include "sysdep.h" #include "fsusg.h" +#if HAVE_LIMITS_H +#include <limits.h> +#else +#define LONG_MAX 2147483647 +#endif + long csysdep_bytes_free (zfile) const char *zfile; @@ -15,5 +21,7 @@ csysdep_bytes_free (zfile) if (get_fs_usage ((char *) zfile, (char *) NULL, &s) < 0) return -1; + if (s.fsu_bavail >= LONG_MAX / (long) 512) + return LONG_MAX; return s.fsu_bavail * (long) 512; } |