From 6691718b18def310516d1e7724fece766c7c09b1 Mon Sep 17 00:00:00 2001 From: Christopher Haster Date: Tue, 16 Jan 2024 23:40:30 -0600 Subject: [PATCH] Restricted LFS_FILE_MAX to signed 32-bits, <2^31, <=2147483647 I think realistically no one is using this. It's already only partially supported and untested. Worst case, if someone does depend on this we can always revert. --- lfs.c | 4 ++-- lfs.h | 6 ++---- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/lfs.c b/lfs.c index 3d716acc..9e1fdb65 100644 --- a/lfs.c +++ b/lfs.c @@ -4112,8 +4112,8 @@ static int lfs_rawremoveattr(lfs_t *lfs, const char *path, uint8_t type) { #error "Invalid LFS_NAME_MAX, must be <= 1022" #endif -#if LFS_FILE_MAX > 4294967295 -#error "Invalid LFS_FILE_MAX, must be <= 4294967295" +#if LFS_FILE_MAX > 2147483647 +#error "Invalid LFS_FILE_MAX, must be <= 2147483647" #endif #if LFS_ATTR_MAX > 1022 diff --git a/lfs.h b/lfs.h index d7f61367..452dd0e9 100644 --- a/lfs.h +++ b/lfs.h @@ -52,10 +52,8 @@ typedef uint32_t lfs_block_t; #endif // Maximum size of a file in bytes, may be redefined to limit to support other -// drivers. Limited on disk to <= 4294967295. However, above 2147483647 the -// functions lfs_file_seek, lfs_file_size, and lfs_file_tell will return -// incorrect values due to using signed integers. Stored in superblock and -// must be respected by other littlefs drivers. +// drivers. Limited on disk to <= 2147483647. Stored in superblock and must be +// respected by other littlefs drivers. #ifndef LFS_FILE_MAX #define LFS_FILE_MAX 2147483647 #endif