summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernard Xiong <[email protected]>2018-01-18 06:38:24 +0800
committerGitHub <[email protected]>2018-01-18 06:38:24 +0800
commit0d7a74cc3d8db508d14faeb5152a03c4b75f3849 (patch)
treed2bc3d1a92cd68944750f3f40a8cb729590fc63f
parentcec51c2131c5f1c64c5e4045deeb6875286f40af (diff)
parenta9f182140cb274a91bcadd28c333e7301a60eb5c (diff)
Merge pull request #1179 from uestczyh222/master
[Components][Drivers][USB]fix memory leak
-rw-r--r--components/drivers/usb/usbdevice/class/hid.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/components/drivers/usb/usbdevice/class/hid.c b/components/drivers/usb/usbdevice/class/hid.c
index 11a8e39bfe..0b44456b8f 100644
--- a/components/drivers/usb/usbdevice/class/hid.c
+++ b/components/drivers/usb/usbdevice/class/hid.c
@@ -486,7 +486,10 @@ static rt_err_t _function_enable(ufunction_t func)
//
// _vcom_reset_state(func);
//
- data->ep_out->buffer = rt_malloc(HID_RX_BUFSIZE);
+ if(data->ep_out->buffer == RT_NULL)
+ {
+ data->ep_out->buffer = rt_malloc(HID_RX_BUFSIZE);
+ }
data->ep_out->request.buffer = data->ep_out->buffer;
data->ep_out->request.size = EP_MAXPACKET(data->ep_out);
data->ep_out->request.req_type = UIO_REQUEST_READ_BEST;