Download raw body.
USB vendor/product sanitization
I noticed this oddity in my dmesg:
umass0 at uhub5 port 4 configuration 1 interface 0 "Obreey
Verse
" rev 2.00/1.01 addr 9
umass0: using SCSI over Bulk-Only
Apparently the vendor stuck a trailing \n into both product and vendor
fields. We could trim them though I wonder if it's worth the trouble
(Linux dmesg similarly gets some empty lines). If it is then do we care
to do more than the bare minimum?
diff --git a/sys/dev/usb/usb_subr.c b/sys/dev/usb/usb_subr.c
index 41a53dc1e49..960edba6bc2 100644
--- a/sys/dev/usb/usb_subr.c
+++ b/sys/dev/usb/usb_subr.c
@@ -197,16 +197,18 @@ usbd_get_string(struct usbd_device *dev, int si, char *buf, size_t buflen)
static void
usbd_trim_spaces(char *p)
{
- char *q, *e;
+ char *q, *e, c;
if (p == NULL)
return;
q = e = p;
while (*q == ' ') /* skip leading spaces */
q++;
- while ((*p = *q++)) /* copy string */
- if (*p++ != ' ') /* remember last non-space */
+ while ((*p = *q++)) { /* copy string */
+ c = *p++;
+ if (c != ' ' && c != '\n') /* remember last non-space */
e = p;
+ }
*e = 0; /* kill trailing spaces */
}
USB vendor/product sanitization