| From 27a78d6a283d6782438f72306746afe4bf44c215 Mon Sep 17 00:00:00 2001 |
| From: Anton Tikhomirov <av.tikhomirov@samsung.com> |
| Date: Thu, 23 Feb 2012 15:38:46 +0900 |
| Subject: usb: dwc3: use proper function for setting endpoint name |
| |
| From: Anton Tikhomirov <av.tikhomirov@samsung.com> |
| |
| commit 27a78d6a283d6782438f72306746afe4bf44c215 upstream. |
| |
| It's wrong to use the size of array as an argument for strncat. |
| Memory corruption is possible. strlcat is exactly what we need here. |
| |
| Signed-off-by: Anton Tikhomirov <av.tikhomirov@samsung.com> |
| Signed-off-by: Felipe Balbi <balbi@ti.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/usb/dwc3/gadget.c | 8 ++++---- |
| 1 file changed, 4 insertions(+), 4 deletions(-) |
| |
| --- a/drivers/usb/dwc3/gadget.c |
| +++ b/drivers/usb/dwc3/gadget.c |
| @@ -449,16 +449,16 @@ static int dwc3_gadget_ep_enable(struct |
| |
| switch (usb_endpoint_type(desc)) { |
| case USB_ENDPOINT_XFER_CONTROL: |
| - strncat(dep->name, "-control", sizeof(dep->name)); |
| + strlcat(dep->name, "-control", sizeof(dep->name)); |
| break; |
| case USB_ENDPOINT_XFER_ISOC: |
| - strncat(dep->name, "-isoc", sizeof(dep->name)); |
| + strlcat(dep->name, "-isoc", sizeof(dep->name)); |
| break; |
| case USB_ENDPOINT_XFER_BULK: |
| - strncat(dep->name, "-bulk", sizeof(dep->name)); |
| + strlcat(dep->name, "-bulk", sizeof(dep->name)); |
| break; |
| case USB_ENDPOINT_XFER_INT: |
| - strncat(dep->name, "-int", sizeof(dep->name)); |
| + strlcat(dep->name, "-int", sizeof(dep->name)); |
| break; |
| default: |
| dev_err(dwc->dev, "invalid endpoint transfer type\n"); |