summaryrefslogtreecommitdiff
path: root/drivers/usb
diff options
context:
space:
mode:
authorFelipe Balbi <felipe.balbi@linux.intel.com>2017-02-22 11:22:37 +0200
committerMarek Vasut <marex@denx.de>2017-02-26 13:24:30 +0100
commit949bf79e73a12961cf1310baf411647083f34b34 (patch)
treee966b3f986cb8ec2007444a40b310ffb7d245ab7 /drivers/usb
parent00e9d69629eb026a2ccc9e2526e365b1e796a14d (diff)
downloadu-boot-imx-949bf79e73a12961cf1310baf411647083f34b34.zip
u-boot-imx-949bf79e73a12961cf1310baf411647083f34b34.tar.gz
u-boot-imx-949bf79e73a12961cf1310baf411647083f34b34.tar.bz2
usb: gadget: g_dnl: fix g_dnl_set_serialnumber()
instead of only copying if strlen(s) is less than 32 characters, let's just copy at most 31 characters regardless of the size of serial#. This will guarantee that we always have a serial number if serial# environment variable is set to anything. Note that without a proper serial number, USB Command Verifier fails our test of Device Descriptor since we will claim to have a serial number without really providing one when requested. Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Diffstat (limited to 'drivers/usb')
-rw-r--r--drivers/usb/gadget/g_dnl.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/usb/gadget/g_dnl.c b/drivers/usb/gadget/g_dnl.c
index 45a484c..4ba7c1d 100644
--- a/drivers/usb/gadget/g_dnl.c
+++ b/drivers/usb/gadget/g_dnl.c
@@ -49,8 +49,7 @@ static const char manufacturer[] = CONFIG_G_DNL_MANUFACTURER;
void g_dnl_set_serialnumber(char *s)
{
memset(g_dnl_serial, 0, MAX_STRING_SERIAL);
- if (strlen(s) < MAX_STRING_SERIAL)
- strncpy(g_dnl_serial, s, strlen(s));
+ strncpy(g_dnl_serial, s, MAX_STRING_SERIAL - 1);
}
static struct usb_device_descriptor device_desc = {