summaryrefslogtreecommitdiffstats
path: root/gnu/libexec/uucp/libunix/bytfre.c
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/libexec/uucp/libunix/bytfre.c')
-rw-r--r--gnu/libexec/uucp/libunix/bytfre.c8
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;
}
OpenPOWER on IntegriCloud