diff options
Diffstat (limited to 'src/lockdown.c')
| -rw-r--r-- | src/lockdown.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/lockdown.c b/src/lockdown.c index 9b91dff..99bcbb5 100644 --- a/src/lockdown.c +++ b/src/lockdown.c | |||
| @@ -752,8 +752,9 @@ lockdownd_error_t lockdownd_client_new_with_handshake(idevice_t device, lockdown | |||
| 752 | 752 | ||
| 753 | plist_t pair_record = NULL; | 753 | plist_t pair_record = NULL; |
| 754 | userpref_read_pair_record(client_loc->udid, &pair_record); | 754 | userpref_read_pair_record(client_loc->udid, &pair_record); |
| 755 | 755 | if (pair_record) { | |
| 756 | pair_record_get_host_id(pair_record, &host_id); | 756 | pair_record_get_host_id(pair_record, &host_id); |
| 757 | } | ||
| 757 | if (LOCKDOWN_E_SUCCESS == ret && !host_id) { | 758 | if (LOCKDOWN_E_SUCCESS == ret && !host_id) { |
| 758 | ret = LOCKDOWN_E_INVALID_CONF; | 759 | ret = LOCKDOWN_E_INVALID_CONF; |
| 759 | } | 760 | } |
| @@ -783,8 +784,10 @@ lockdownd_error_t lockdownd_client_new_with_handshake(idevice_t device, lockdown | |||
| 783 | if (LOCKDOWN_E_SUCCESS == ret) { | 784 | if (LOCKDOWN_E_SUCCESS == ret) { |
| 784 | if (!host_id) { | 785 | if (!host_id) { |
| 785 | userpref_read_pair_record(client_loc->udid, &pair_record); | 786 | userpref_read_pair_record(client_loc->udid, &pair_record); |
| 786 | pair_record_get_host_id(pair_record, &host_id); | 787 | if (pair_record) { |
| 787 | plist_free(pair_record); | 788 | pair_record_get_host_id(pair_record, &host_id); |
| 789 | plist_free(pair_record); | ||
| 790 | } | ||
| 788 | } | 791 | } |
| 789 | 792 | ||
| 790 | ret = lockdownd_start_session(client_loc, host_id, NULL, NULL); | 793 | ret = lockdownd_start_session(client_loc, host_id, NULL, NULL); |
| @@ -950,6 +953,9 @@ static lockdownd_error_t lockdownd_do_pair(lockdownd_client_t client, lockdownd_ | |||
| 950 | /* use existing pair record */ | 953 | /* use existing pair record */ |
| 951 | if (userpref_has_pair_record(client->udid)) { | 954 | if (userpref_has_pair_record(client->udid)) { |
| 952 | userpref_read_pair_record(client->udid, &pair_record_plist); | 955 | userpref_read_pair_record(client->udid, &pair_record_plist); |
| 956 | if (!pair_record_plist) { | ||
| 957 | return LOCKDOWN_E_INVALID_CONF; | ||
| 958 | } | ||
| 953 | } else { | 959 | } else { |
| 954 | return LOCKDOWN_E_INVALID_HOST_ID; | 960 | return LOCKDOWN_E_INVALID_HOST_ID; |
| 955 | } | 961 | } |
