diff options
author | Brian Pugh <bnp117@gmail.com> | 2023-10-29 23:50:38 +0300 |
---|---|---|
committer | Brian Pugh <bnp117@gmail.com> | 2023-10-29 23:50:38 +0300 |
commit | 8f9427dd53cc3f5eb9194f1235e6357fab5b476d (patch) | |
tree | 7bc21c680019ec3d8c2bc99f28163402c3b07a18 | |
parent | f77214d1f0a8ccd7ddc7e1204fedd25ee5a41534 (diff) |
Add value-range checks for user-definable macros
-rw-r--r-- | lfs.c | 17 |
1 files changed, 17 insertions, 0 deletions
@@ -8,6 +8,23 @@ #include "lfs.h" #include "lfs_util.h" +// Configuration Sanity Check +#if (LFS_NAME_MAX <= 0) || (LFS_NAME_MAX > 1022) +#error "LFS_NAME_MAX must be in the range (0, 1022]" +#endif + +#if (LFS_FILE_MAX <= 0) || (LFS_FILE_MAX > 4294967296) +#error "LFS_FILE_MAX must be in the range (0, 4294967296]" +#endif + +#if (LFS_FILE_MAX > 2147483647) +#warning "LFS_FILE_MAX>2147483647; lfs_file_seek, lfs_file_size, and lfs_file_tell will not function properly." +#endif + +#if (LFS_ATTR_MAX < 0) || (LFS_ATTR_MAX > 1022) +#error "LFS_ATTR_MAX must be in the range [0, 1022]" +#endif + // some constants used throughout the code #define LFS_BLOCK_NULL ((lfs_block_t)-1) |