Просмотр исходного кода

dfs/romfs: validate ioctl args for RT_FIOGETADDR

Aphlita 17 часов назад
Родитель
Сommit
c1a43bc0de

+ 5 - 0
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;
         }

+ 5 - 0
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;
         }