From 708029463ed4f1e8aa83ca1c98a0ea658247ef7a Mon Sep 17 00:00:00 2001 From: Martin Szulecki Date: Mon, 13 Apr 2009 08:25:52 -0700 Subject: Check for set usb_device in iphone_free_device to avoid libusb segfault Signed-off-by: Matt Colyer --- src/iphone.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/iphone.c b/src/iphone.c index 6eb56f7..c2a79bb 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); -- cgit v1.1-32-gdbae