diff options
author | deraadt <deraadt@openbsd.org> | 2019-04-14 18:16:19 +0000 |
---|---|---|
committer | deraadt <deraadt@openbsd.org> | 2019-04-14 18:16:19 +0000 |
commit | 44d2074c85dd870d699ccafdc0d50191ac231786 (patch) | |
tree | 3b48b7bd38a9e6c193e735b0bfd77e93a8cee819 /usr.sbin/usbdevs | |
parent | Add input validation to BIO_read()/BIO_write(). (diff) | |
download | wireguard-openbsd-44d2074c85dd870d699ccafdc0d50191ac231786.tar.xz wireguard-openbsd-44d2074c85dd870d699ccafdc0d50191ac231786.zip |
use strvis on strings from the device; ok sthen mortimer
Diffstat (limited to 'usr.sbin/usbdevs')
-rw-r--r-- | usr.sbin/usbdevs/usbdevs.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/usr.sbin/usbdevs/usbdevs.c b/usr.sbin/usbdevs/usbdevs.c index 642944ae653..d41e7ad868a 100644 --- a/usr.sbin/usbdevs/usbdevs.c +++ b/usr.sbin/usbdevs/usbdevs.c @@ -1,4 +1,4 @@ -/* $OpenBSD: usbdevs.c,v 1.30 2019/01/07 14:22:40 mpi Exp $ */ +/* $OpenBSD: usbdevs.c,v 1.31 2019/04/14 18:16:19 deraadt Exp $ */ /* $NetBSD: usbdevs.c,v 1.19 2002/02/21 00:34:31 christos Exp $ */ /* @@ -39,6 +39,7 @@ #include <limits.h> #include <stdio.h> #include <stdlib.h> +#include <vis.h> #include <string.h> #include <unistd.h> @@ -75,6 +76,8 @@ usbdev(int f, uint8_t addr) struct usb_device_info di; int e, i, port, nports; uint16_t change, status; + char vv[sizeof(di.udi_vendor)*4], vp[sizeof(di.udi_product)*4]; + char vr[sizeof(di.udi_release)*4], vs[sizeof(di.udi_serial)*4]; di.udi_addr = addr; e = ioctl(f, USB_DEVICEINFO, &di); @@ -86,8 +89,10 @@ usbdev(int f, uint8_t addr) printf("addr %02u: ", addr); done[addr] = 1; + strvis(vv, di.udi_vendor, VIS_CSTYLE); + strvis(vp, di.udi_product, VIS_CSTYLE); printf("%04x:%04x %s, %s", di.udi_vendorNo, di.udi_productNo, - di.udi_vendor, di.udi_product); + vv, vp); if (verbose) { printf("\n\t "); @@ -117,9 +122,11 @@ usbdev(int f, uint8_t addr) else printf("unconfigured, "); - printf("rev %s", di.udi_release); + strvis(vr, di.udi_release, VIS_CSTYLE); + strvis(vs, di.udi_serial, VIS_CSTYLE); + printf("rev %s", vr); if (strlen(di.udi_serial)) - printf(", iSerial %s", di.udi_serial); + printf(", iSerial %s", vs); } printf("\n"); |