!608 fix:Modify function parameter overflow risk

Merge pull request !608 from 马海/monthly_20220614
This commit is contained in:
openharmony_ci
2022-07-14 12:29:56 +00:00
committed by Gitee
2 changed files with 17 additions and 0 deletions
+5
View File
@@ -104,6 +104,11 @@ static int GpioIoctl(struct file *filep, int cmd, unsigned long arg)
struct GpioBitInfo info = {0};
struct drv_data *drvData = NULL;
if (arg == 0) {
HDF_LOGE("%s arg is 0", __func__);
return HDF_ERR_INVALID_PARAM;
}
if (filep == NULL || filep->f_vnode == NULL || filep->f_vnode->data == NULL) {
HDF_LOGE("%s: function parameter is null", __func__);
return HDF_ERR_INVALID_PARAM;
+12
View File
@@ -37,6 +37,7 @@
#define HDF_LOG_TAG hdf_uart_dev
#define HDF_UART_FS_MODE 0660
#define ARG_MAX_RANG 0xFFFFFFFF
static int32_t UartDevOpen(struct file *filep)
{
@@ -145,6 +146,12 @@ static int32_t UartDevIoctl(struct file *filep, int32_t cmd, unsigned long arg)
{
int32_t ret = HDF_FAILURE;
struct UartHost *host = NULL;
if (arg == 0) {
HDF_LOGE("%s arg is 0", __func__);
return HDF_ERR_INVALID_PARAM;
}
if (filep == NULL || filep->f_vnode == NULL) {
return HDF_ERR_INVALID_PARAM;
}
@@ -153,6 +160,11 @@ static int32_t UartDevIoctl(struct file *filep, int32_t cmd, unsigned long arg)
switch (cmd) {
case UART_CFG_BAUDRATE:
if (arg > ARG_MAX_RANG) {
HDF_LOGE("%s arg out of range", __func__);
ret = HDF_ERR_INVALID_PARAM;
break;
}
ret = UartHostSetBaud(host, arg);
break;
case UART_CFG_RD_BLOCK: