summaryrefslogtreecommitdiffstats
path: root/usr.sbin/usbdevs
diff options
context:
space:
mode:
authorderaadt <deraadt@openbsd.org>2019-04-14 18:16:19 +0000
committerderaadt <deraadt@openbsd.org>2019-04-14 18:16:19 +0000
commit44d2074c85dd870d699ccafdc0d50191ac231786 (patch)
tree3b48b7bd38a9e6c193e735b0bfd77e93a8cee819 /usr.sbin/usbdevs
parentAdd input validation to BIO_read()/BIO_write(). (diff)
downloadwireguard-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.c15
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");