diff --git a/.travis.yml b/.travis.yml index 3b8292b..e0e9594 100644 --- a/.travis.yml +++ b/.travis.yml @@ -139,7 +139,7 @@ jobs: install: - sudo apt-get install libfuse-dev - git clone --depth 1 https://github.com/geky/littlefs-fuse -b v2-alpha v2 - - git clone --depth 1 https://github.com/geky/littlefs-fuse v1 + - git clone --depth 1 https://github.com/geky/littlefs-fuse -b v1 v1 - fusermount -V - gcc --version before_script: diff --git a/lfs2.c b/lfs2.c index 8b58a48..a181c40 100644 --- a/lfs2.c +++ b/lfs2.c @@ -2864,6 +2864,10 @@ int lfs2_file_truncate(lfs2_t *lfs2, lfs2_file_t *file, lfs2_off_t size) { return LFS2_ERR_BADF; } + if (size > LFS2_FILE_MAX) { + return LFS2_ERR_INVAL; + } + lfs2_off_t oldsize = lfs2_file_size(lfs2, file); if (size < oldsize) { // need to flush since directly changing metadata diff --git a/lfs2.h b/lfs2.h index d4ee66b..a345d54 100644 --- a/lfs2.h +++ b/lfs2.h @@ -578,7 +578,8 @@ int lfs2_dir_close(lfs2_t *lfs2, lfs2_dir_t *dir); // Read an entry in the directory // // Fills out the info structure, based on the specified file or directory. -// Returns a negative error code on failure. +// Returns a positive value on success, 0 at the end of directory, +// or a negative error code on failure. int lfs2_dir_read(lfs2_t *lfs2, lfs2_dir_t *dir, struct lfs2_info *info); // Change the position of the directory