瀏覽代碼

[fix] fix cromfs read out of mem range (#9197)

Update dfs_cromfs.c
zhuzhuzhu 1 年之前
父節點
當前提交
4ad194bb47
共有 1 個文件被更改,包括 3 次插入3 次删除
  1. 3 3
      components/dfs/dfs_v2/filesystems/cromfs/dfs_cromfs.c

+ 3 - 3
components/dfs/dfs_v2/filesystems/cromfs/dfs_cromfs.c

@@ -786,18 +786,18 @@ static ssize_t dfs_cromfs_read(struct dfs_file *file, void *buf, size_t count, o
     rt_err_t result = RT_EOK;
     file_info *fi = NULL;
     cromfs_info *ci = NULL;
-    uint32_t length = 0;
+    ssize_t length = 0;
 
     ci = (cromfs_info *)file->dentry->mnt->data;
     fi = (file_info *)file->vnode->data;
 
-    if (count < file->vnode->size - *pos)
+    if ((off_t)count < (off_t)file->vnode->size - *pos)
     {
         length = count;
     }
     else
     {
-        length = file->vnode->size - *pos;
+        length = (off_t)file->vnode->size - *pos;
     }
 
     if (length > 0)