Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 27a78d6a authored by Anton Tikhomirov's avatar Anton Tikhomirov Committed by Felipe Balbi
Browse files

usb: dwc3: use proper function for setting endpoint name



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.

Cc: stable@vger.kernel.org
Signed-off-by: default avatarAnton Tikhomirov <av.tikhomirov@samsung.com>
Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
parent 8d62cd65
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -643,16 +643,16 @@ static int dwc3_gadget_ep_enable(struct usb_ep *ep,

	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");