diff --git a/components/dfs/filesystems/ramfs/dfs_ramfs.c b/components/dfs/filesystems/ramfs/dfs_ramfs.c index ea9c086cfa20a0f0ee0c6385b9b65c975d848bc7..e877e921d25ba67004c87d1661789e77b7ec251b 100644 --- a/components/dfs/filesystems/ramfs/dfs_ramfs.c +++ b/components/dfs/filesystems/ramfs/dfs_ramfs.c @@ -311,12 +311,13 @@ int dfs_ramfs_getdents(struct dfs_fd *file, struct dfs_ramfs *ramfs; dirent = (struct ramfs_dirent *)file->data; - if (dirent != &(ramfs->root)) - return -EINVAL; ramfs = dirent->fs; RT_ASSERT(ramfs != RT_NULL); + if (dirent != &(ramfs->root)) + return -EINVAL; + /* make integer count */ count = (count / sizeof(struct dirent)); if (count == 0)