summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/dfu.c7
-rw-r--r--src/recovery.c7
2 files changed, 12 insertions, 2 deletions
diff --git a/src/dfu.c b/src/dfu.c
index 11aa843..8c65b93 100644
--- a/src/dfu.c
+++ b/src/dfu.c
@@ -2,8 +2,8 @@
* dfu.c
* Functions for handling idevices in DFU mode
*
+ * Copyright (c) 2012-2019 Nikias Bassen. All Rights Reserved.
* Copyright (c) 2010-2013 Martin Szulecki. All Rights Reserved.
- * Copyright (c) 2012-2015 Nikias Bassen. All Rights Reserved.
* Copyright (c) 2010 Joshua Hill. All Rights Reserved.
*
* This library is free software; you can redistribute it and/or
@@ -90,6 +90,11 @@ int dfu_check_mode(struct idevicerestore_client_t* client, int* mode) {
irecv_client_t dfu = NULL;
int probe_mode = -1;
+ if (client->udid && client->ecid == 0) {
+ /* if we have a UDID but no ECID we can't make sure this is the correct device */
+ return -1;
+ }
+
irecv_init();
if (irecv_open_with_ecid(&dfu, client->ecid) != IRECV_E_SUCCESS) {
return -1;
diff --git a/src/recovery.c b/src/recovery.c
index b54a8b2..436261f 100644
--- a/src/recovery.c
+++ b/src/recovery.c
@@ -2,8 +2,8 @@
* recovery.c
* Functions for handling idevices in recovery mode
*
+ * Copyright (c) 2012-2019 Nikias Bassen. All Rights Reserved.
* Copyright (c) 2010-2012 Martin Szulecki. All Rights Reserved.
- * Copyright (c) 2012 Nikias Bassen. All Rights Reserved.
* Copyright (c) 2010 Joshua Hill. All Rights Reserved.
*
* This library is free software; you can redistribute it and/or
@@ -103,6 +103,11 @@ int recovery_check_mode(struct idevicerestore_client_t* client) {
irecv_error_t recovery_error = IRECV_E_SUCCESS;
int mode = 0;
+ if (client->udid && client->ecid == 0) {
+ /* if we have a UDID but no ECID we can't make sure this is the correct device */
+ return -1;
+ }
+
irecv_init();
recovery_error=irecv_open_with_ecid(&recovery, client->ecid);