diff options
| author | 2013-03-14 03:09:14 +0100 | |
|---|---|---|
| committer | 2013-03-14 03:09:14 +0100 | |
| commit | 4222bc1b880d6535462e3b5ba5431809a3c5fddc (patch) | |
| tree | b664bbdfe96d162930b2719ec920cd149684b0ed /src/installation_proxy.c | |
| parent | 23abc8303b8cad9251cd4ea4b5fa5af28e5f0b24 (diff) | |
| download | libimobiledevice-4222bc1b880d6535462e3b5ba5431809a3c5fddc.tar.gz libimobiledevice-4222bc1b880d6535462e3b5ba5431809a3c5fddc.tar.bz2 | |
global: make sure to check service before checking service->port to prevent crashes
Diffstat (limited to 'src/installation_proxy.c')
| -rw-r--r-- | src/installation_proxy.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/installation_proxy.c b/src/installation_proxy.c index eacab9d..d4c1750 100644 --- a/src/installation_proxy.c +++ b/src/installation_proxy.c | |||
| @@ -104,12 +104,10 @@ static instproxy_error_t instproxy_error(property_list_service_error_t err) | |||
| 104 | */ | 104 | */ |
| 105 | instproxy_error_t instproxy_client_new(idevice_t device, lockdownd_service_descriptor_t service, instproxy_client_t *client) | 105 | instproxy_error_t instproxy_client_new(idevice_t device, lockdownd_service_descriptor_t service, instproxy_client_t *client) |
| 106 | { | 106 | { |
| 107 | if (!device) | ||
| 108 | return INSTPROXY_E_INVALID_ARG; | ||
| 109 | |||
| 110 | property_list_service_client_t plistclient = NULL; | 107 | property_list_service_client_t plistclient = NULL; |
| 111 | if (property_list_service_client_new(device, service, &plistclient) != PROPERTY_LIST_SERVICE_E_SUCCESS) { | 108 | instproxy_error_t err = instproxy_error(property_list_service_client_new(device, service, &plistclient)); |
| 112 | return INSTPROXY_E_CONN_FAILED; | 109 | if (err != INSTPROXY_E_SUCCESS) { |
| 110 | return err; | ||
| 113 | } | 111 | } |
| 114 | 112 | ||
| 115 | instproxy_client_t client_loc = (instproxy_client_t) malloc(sizeof(struct instproxy_client_private)); | 113 | instproxy_client_t client_loc = (instproxy_client_t) malloc(sizeof(struct instproxy_client_private)); |
