未验证 提交 7f6755c6 编写于 作者: B Bernard Xiong 提交者: GitHub

Merge pull request #3472 from DavidLin1577/patch-2

[components/usb]Fixed a stack overflow bug
...@@ -493,6 +493,7 @@ static rt_err_t _function_enable(ufunction_t func) ...@@ -493,6 +493,7 @@ static rt_err_t _function_enable(ufunction_t func)
data = (struct vcom*)func->user_data; data = (struct vcom*)func->user_data;
data->ep_out->buffer = rt_malloc(CDC_RX_BUFSIZE); data->ep_out->buffer = rt_malloc(CDC_RX_BUFSIZE);
RT_ASSERT(data->ep_out->buffer != RT_NULL);
data->ep_out->request.buffer = data->ep_out->buffer; data->ep_out->request.buffer = data->ep_out->buffer;
data->ep_out->request.size = EP_MAXPACKET(data->ep_out); data->ep_out->request.size = EP_MAXPACKET(data->ep_out);
...@@ -593,6 +594,7 @@ ufunction_t rt_usbd_function_cdc_create(udevice_t device) ...@@ -593,6 +594,7 @@ ufunction_t rt_usbd_function_cdc_create(udevice_t device)
/* allocate memory for cdc vcom data */ /* allocate memory for cdc vcom data */
data = (struct vcom*)rt_malloc(sizeof(struct vcom)); data = (struct vcom*)rt_malloc(sizeof(struct vcom));
RT_ASSERT(data != RT_NULL);
rt_memset(data, 0, sizeof(struct vcom)); rt_memset(data, 0, sizeof(struct vcom));
func->user_data = (void*)data; func->user_data = (void*)data;
......
...@@ -565,7 +565,8 @@ ufunction_t rt_usbd_function_ecm_create(udevice_t device) ...@@ -565,7 +565,8 @@ ufunction_t rt_usbd_function_ecm_create(udevice_t device)
/* create a cdc class */ /* create a cdc class */
cdc = rt_usbd_function_new(device, &_dev_desc, &ops); cdc = rt_usbd_function_new(device, &_dev_desc, &ops);
rt_usbd_device_set_qualifier(device, &dev_qualifier); rt_usbd_device_set_qualifier(device, &dev_qualifier);
_ecm_eth= rt_malloc(sizeof(struct rt_ecm_eth)); _ecm_eth= rt_malloc(sizeof(struct rt_ecm_eth));
RT_ASSERT(_ecm_eth != RT_NULL);
rt_memset(_ecm_eth, 0, sizeof(struct rt_ecm_eth)); rt_memset(_ecm_eth, 0, sizeof(struct rt_ecm_eth));
cdc->user_data = _ecm_eth; cdc->user_data = _ecm_eth;
......
...@@ -508,6 +508,7 @@ static rt_err_t rt_usbh_hub_enable(void *arg) ...@@ -508,6 +508,7 @@ static rt_err_t rt_usbh_hub_enable(void *arg)
/* create a hub instance */ /* create a hub instance */
hub = rt_malloc(sizeof(struct uhub)); hub = rt_malloc(sizeof(struct uhub));
RT_ASSERT(hub != RT_NULL);
rt_memset(hub, 0, sizeof(struct uhub)); rt_memset(hub, 0, sizeof(struct uhub));
/* make interface instance's user data point to hub instance */ /* make interface instance's user data point to hub instance */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册