[PATCH] usb: gadget: function: Fix returning incorrect PNP string

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



There will be 2 leading bytes indicating the total length of
the PNP string, so I think we should add value by 2, otherwise
the PNP string copied to user will not contain the last 2 bytes

Signed-off-by: Wei Ming Chen <jj251510319013@xxxxxxxxx>
---
 drivers/usb/gadget/function/f_printer.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/usb/gadget/function/f_printer.c b/drivers/usb/gadget/function/f_printer.c
index abec5c58f525..3fb00fd0b5ee 100644
--- a/drivers/usb/gadget/function/f_printer.c
+++ b/drivers/usb/gadget/function/f_printer.c
@@ -1005,9 +1005,11 @@ static int printer_func_setup(struct usb_function *f,
 				break;
 			}
 			value = strlen(dev->pnp_string);
+			memcpy(buf + 2, dev->pnp_string, value);
+
+			value += 2;
 			buf[0] = (value >> 8) & 0xFF;
 			buf[1] = value & 0xFF;
-			memcpy(buf + 2, dev->pnp_string, value);
 			DBG(dev, "1284 PNP String: %x %s\n", value,
 			    dev->pnp_string);
 			break;
-- 
2.25.1




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux