commit 62c7bc2c62994ff0506bb8dc37cbfe950e49d6d5 Author: Martin Szulecki Date: Sun Apr 12 17:51:19 2009 +0200 Check for set usb_device in iphone_free_device to avoid libusb segfault diff --git a/src/iphone.c b/src/iphone.c index 0fe56bc..5076b48 100644 --- a/src/iphone.c +++ b/src/iphone.c @@ -230,13 +230,15 @@ iphone_error_t iphone_free_device(iphone_device_t device) unsigned char buf[512]; // read final package(s) - do { - bytes = usb_bulk_read(device->device, BULKIN, (void *) &buf, 512, 800); - if (bytes > 0) { - log_debug_msg("iphone_free_device: final read returned\n"); - log_debug_buffer(buf, bytes); - } - } while (bytes > 0); + if (device->device != NULL) { + do { + bytes = usb_bulk_read(device->device, BULKIN, (void *) &buf, 512, 800); + if (bytes > 0) { + log_debug_msg("iphone_free_device: final read returned\n"); + log_debug_buffer(buf, bytes); + } + } while (bytes > 0); + } if (device->buffer) { free(device->buffer);