4
0
mirror of https://github.com/RT-Thread/rt-thread.git synced 2025-01-19 13:03:42 +08:00

Merge pull request #3472 from DavidLin1577/patch-2

[components/usb]Fixed a stack overflow bug
This commit is contained in:
Bernard Xiong 2020-03-26 22:06:23 +08:00 committed by GitHub
commit 7f6755c622
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 5 additions and 1 deletions

View File

@ -493,6 +493,7 @@ static rt_err_t _function_enable(ufunction_t func)
data = (struct vcom*)func->user_data;
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.size = EP_MAXPACKET(data->ep_out);
@ -593,6 +594,7 @@ ufunction_t rt_usbd_function_cdc_create(udevice_t device)
/* allocate memory for cdc vcom data */
data = (struct vcom*)rt_malloc(sizeof(struct vcom));
RT_ASSERT(data != RT_NULL);
rt_memset(data, 0, sizeof(struct vcom));
func->user_data = (void*)data;

View File

@ -566,6 +566,7 @@ ufunction_t rt_usbd_function_ecm_create(udevice_t device)
cdc = rt_usbd_function_new(device, &_dev_desc, &ops);
rt_usbd_device_set_qualifier(device, &dev_qualifier);
_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));
cdc->user_data = _ecm_eth;

View File

@ -508,6 +508,7 @@ static rt_err_t rt_usbh_hub_enable(void *arg)
/* create a hub instance */
hub = rt_malloc(sizeof(struct uhub));
RT_ASSERT(hub != RT_NULL);
rt_memset(hub, 0, sizeof(struct uhub));
/* make interface instance's user data point to hub instance */