summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlavio Cruz <flaviocruz@gmail.com>2023-12-29 16:21:03 -0500
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2023-12-29 22:44:32 +0100
commit36918d77a40273ae93c250a4c0699659f9f6c33b (patch)
tree454e921296bc62d21360cda62155712acf0b0493
parent61ad4bfeb4966d79b410fb876b7d28829e97174e (diff)
Fix overflow issues in tmpfs and vmallocate
Message-ID: <20231229212105.858759-9-flaviocruz@gmail.com>
-rw-r--r--tmpfs/tmpfs.c2
-rw-r--r--utils/vmallocate.c7
2 files changed, 6 insertions, 3 deletions
diff --git a/tmpfs/tmpfs.c b/tmpfs/tmpfs.c
index 02d4bd8c..d28806a3 100644
--- a/tmpfs/tmpfs.c
+++ b/tmpfs/tmpfs.c
@@ -39,7 +39,7 @@ char *diskfs_disk_name = "none";
int diskfs_default_sync_interval = 0;
/* We must supply some claimed limits, though we don't impose any new ones. */
-int diskfs_link_max = (1ULL << (sizeof (nlink_t) * CHAR_BIT)) - 1;
+int diskfs_link_max = INT_MAX;
int diskfs_name_max = 255; /* dirent d_namlen limit */
int diskfs_maxsymlinks = 8;
diff --git a/utils/vmallocate.c b/utils/vmallocate.c
index b7eafed3..fde8e768 100644
--- a/utils/vmallocate.c
+++ b/utils/vmallocate.c
@@ -160,8 +160,11 @@ main (int argc, char **argv)
struct child *c, *children = NULL;
process_t proc = getproc ();
- /* We must make sure that chunk_size fits into vm_size_t. */
- assert_backtrace (chunk_size <= 1U << (sizeof (vm_size_t) * 8 - 1));
+ /* We must make sure that chunk_size fits into vm_size_t.
+ * We assume sizeof (vm_size_t) = sizeof (uintptr_t). */
+ _Static_assert (sizeof (vm_size_t) == sizeof (uintptr_t),
+ "expected sizeof (vm_size_t) == sizeof (uintptr_t).");
+ assert_backtrace (chunk_size <= UINTPTR_MAX);
/* Parse our arguments. */
argp_parse (&argp, argc, argv, 0, 0, 0);