summary refs log tree commit diff
path: root/usb_util
diff options
context:
space:
mode:
Diffstat (limited to 'usb_util')
-rw-r--r--usb_util/src/bindings.rs2
-rw-r--r--usb_util/src/libusb_device.rs3
2 files changed, 2 insertions, 3 deletions
diff --git a/usb_util/src/bindings.rs b/usb_util/src/bindings.rs
index 90dcd5b..a3e7152 100644
--- a/usb_util/src/bindings.rs
+++ b/usb_util/src/bindings.rs
@@ -2152,7 +2152,7 @@ pub type libusb_iso_usage_type = u32;
 /// descriptor is documented in section 9.6.1 of the USB 3.0 specification.
 /// All multiple-byte fields are represented in host-endian format.
 #[repr(C)]
-#[derive(Debug, Copy, Clone)]
+#[derive(Default, Debug, Copy, Clone)]
 pub struct libusb_device_descriptor {
     /// Size of this descriptor (in bytes)
     pub bLength: u8,
diff --git a/usb_util/src/libusb_device.rs b/usb_util/src/libusb_device.rs
index 2a9ba86..e8f5120 100644
--- a/usb_util/src/libusb_device.rs
+++ b/usb_util/src/libusb_device.rs
@@ -50,8 +50,7 @@ impl LibUsbDevice {
     /// Get device descriptor of this device.
     pub fn get_device_descriptor(&self) -> Result<DeviceDescriptor> {
         // Safe because memory is initialized later.
-        let mut descriptor: bindings::libusb_device_descriptor =
-            unsafe { std::mem::uninitialized() };
+        let mut descriptor: bindings::libusb_device_descriptor = Default::default();
         // Safe because 'self.device' is valid and '&mut descriptor' is valid.
         try_libusb!(unsafe {
             bindings::libusb_get_device_descriptor(self.device, &mut descriptor)