diff options
author | Flavio Cruz <flaviocruz@gmail.com> | 2023-12-29 16:21:03 -0500 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2023-12-29 22:44:32 +0100 |
commit | 36918d77a40273ae93c250a4c0699659f9f6c33b (patch) | |
tree | 454e921296bc62d21360cda62155712acf0b0493 | |
parent | 61ad4bfeb4966d79b410fb876b7d28829e97174e (diff) | |
download | hurd-36918d77a40273ae93c250a4c0699659f9f6c33b.tar.gz hurd-36918d77a40273ae93c250a4c0699659f9f6c33b.tar.bz2 hurd-36918d77a40273ae93c250a4c0699659f9f6c33b.zip |
Fix overflow issues in tmpfs and vmallocate
Message-ID: <20231229212105.858759-9-flaviocruz@gmail.com>
-rw-r--r-- | tmpfs/tmpfs.c | 2 | ||||
-rw-r--r-- | utils/vmallocate.c | 7 |
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); |