Fix null pointer reference in shared_ptr destructor.
usbforward seems to crash once per session because shared_ptr is calling
custom destructor even if it is not initialized.
Test: manual
BUG=65264034
Change-Id: I123ec37b02921d7a7e6db264b21c04c414eb10d1
diff --git a/guest/usbforward/usb_server.cpp b/guest/usbforward/usb_server.cpp
index 2a58aa8..39b80af 100644
--- a/guest/usbforward/usb_server.cpp
+++ b/guest/usbforward/usb_server.cpp
@@ -43,8 +43,11 @@
libusb_open_device_with_vid_pid(nullptr, kExportedVendorID,
kExportedProductID),
[](libusb_device_handle* h) {
- libusb_release_interface(h, 0);
- libusb_close(h);
+ // Apparently, deleter is called even on an uninitialized shared_ptr.
+ if (h != nullptr) {
+ libusb_release_interface(h, 0);
+ libusb_close(h);
+ }
});
if (res) libusb_claim_interface(res.get(), 0);