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:
commit
7f6755c622
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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 */
|
||||
|
Loading…
x
Reference in New Issue
Block a user