From c1a43bc0deb17e6579d838dd7400618eb13d618c Mon Sep 17 00:00:00 2001 From: Aphlita Date: Mon, 4 May 2026 18:34:59 +0800 Subject: [PATCH] dfs/romfs: validate ioctl args for RT_FIOGETADDR --- components/dfs/dfs_v1/filesystems/romfs/dfs_romfs.c | 5 +++++ components/dfs/dfs_v2/filesystems/romfs/dfs_romfs.c | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/components/dfs/dfs_v1/filesystems/romfs/dfs_romfs.c b/components/dfs/dfs_v1/filesystems/romfs/dfs_romfs.c index b84c0498eb..f50f0c74d6 100644 --- a/components/dfs/dfs_v1/filesystems/romfs/dfs_romfs.c +++ b/components/dfs/dfs_v1/filesystems/romfs/dfs_romfs.c @@ -44,6 +44,11 @@ int dfs_romfs_ioctl(struct dfs_file *file, int cmd, void *args) { case RT_FIOGETADDR: { + if (args == RT_NULL) + { + ret = -RT_EINVAL; + break; + } *(rt_ubase_t*)args = (rt_ubase_t)dirent->data; break; } diff --git a/components/dfs/dfs_v2/filesystems/romfs/dfs_romfs.c b/components/dfs/dfs_v2/filesystems/romfs/dfs_romfs.c index 6350ad75f5..772e2218ae 100644 --- a/components/dfs/dfs_v2/filesystems/romfs/dfs_romfs.c +++ b/components/dfs/dfs_v2/filesystems/romfs/dfs_romfs.c @@ -64,6 +64,11 @@ int dfs_romfs_ioctl(struct dfs_file *file, int cmd, void *args) { case RT_FIOGETADDR: { + if (args == RT_NULL) + { + ret = -RT_EINVAL; + break; + } *(rt_ubase_t*)args = (rt_ubase_t)dirent->data; break; }