Download raw body.
USB vendor/product sanitization
I like this.
Greg Steuck <gnezdo@openbsd.org> wrote:
> 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