summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorРоман Донченко <dpb@corrigendum.ru>2012-12-22 03:08:09 +0400
committerPete Batard <pete@akeo.ie>2013-01-07 22:23:13 +0000
commit33ba1231a1b07425eaa83935f84b2e4b7f904f35 (patch)
tree937e5d0b81653f5481058d511caadd383aa18686
parentd7d91d5e87fa456c7a44fae46aba7337ae0e98f0 (diff)
downloadlibusb-33ba1231a1b07425eaa83935f84b2e4b7f904f35.tar.gz
Core: Filter out 8-bit characters in libusb_get_string_descriptor_ascii
* Closes #68
-rw-r--r--AUTHORS1
-rw-r--r--libusb/descriptor.c2
-rw-r--r--libusb/version_nano.h2
3 files changed, 3 insertions, 2 deletions
diff --git a/AUTHORS b/AUTHORS
index 8c15bd5..c80f5fa 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -48,3 +48,4 @@ Uri Lublin
Vasily Khoruzhick
Vitali Lovich
Xiaofan Chen
+Роман Донченко
diff --git a/libusb/descriptor.c b/libusb/descriptor.c
index f3a4132..7e47aae 100644
--- a/libusb/descriptor.c
+++ b/libusb/descriptor.c
@@ -734,7 +734,7 @@ int API_EXPORTED libusb_get_string_descriptor_ascii(libusb_device_handle *dev,
if (di >= (length - 1))
break;
- if (tbuf[si + 1]) /* high byte */
+ if ((tbuf[si] & 0x80) || (tbuf[si + 1])) /* non-ASCII */
data[di++] = '?';
else
data[di++] = tbuf[si];
diff --git a/libusb/version_nano.h b/libusb/version_nano.h
index 7ef9604..4a236d7 100644
--- a/libusb/version_nano.h
+++ b/libusb/version_nano.h
@@ -1 +1 @@
-#define LIBUSB_NANO 10591
+#define LIBUSB_NANO 10592