fix(ioctl): _IOR() overflows in switch (int) #10650

This commit is contained in:
Tang Haojin
2025-09-01 12:46:43 +08:00
committed by GitHub
parent 9567564e86
commit 728d9e4919
3 changed files with 5 additions and 5 deletions

View File

@@ -190,7 +190,7 @@ static int pipe_fops_ioctl(struct dfs_file *fd, int cmd, void *args)
pipe = (rt_pipe_t *)fd->vnode->data;
switch (cmd)
switch ((rt_ubase_t)cmd)
{
case FIONREAD:
*((int*)args) = rt_ringbuffer_data_len(pipe->fifo);

View File

@@ -125,7 +125,7 @@ static int serial_fops_ioctl(struct dfs_file *fd, int cmd, void *args)
int mask = O_NONBLOCK | O_APPEND;
device = (rt_device_t)fd->vnode->data;
switch (cmd)
switch ((rt_ubase_t)cmd)
{
case FIONREAD:
break;
@@ -1074,7 +1074,7 @@ static rt_err_t rt_serial_control(struct rt_device *dev,
RT_ASSERT(dev != RT_NULL);
serial = (struct rt_serial_device *)dev;
switch (cmd)
switch ((rt_ubase_t)cmd)
{
case RT_DEVICE_CTRL_SUSPEND:
/* suspend device */

View File

@@ -121,7 +121,7 @@ static int serial_fops_ioctl(struct dfs_file *fd, int cmd, void *args)
int mask = O_NONBLOCK | O_APPEND;
device = (rt_device_t)fd->vnode->data;
switch (cmd)
switch ((rt_ubase_t)cmd)
{
case FIONREAD:
break;
@@ -1385,7 +1385,7 @@ static rt_err_t rt_serial_control(struct rt_device *dev,
RT_ASSERT(dev != RT_NULL);
serial = (struct rt_serial_device *)dev;
switch (cmd)
switch ((rt_ubase_t)cmd)
{
case RT_DEVICE_CTRL_SUSPEND:
/* suspend device */