summaryrefslogtreecommitdiffstats
path: root/src/installation_proxy.c
diff options
context:
space:
mode:
authorGravatar Nikias Bassen2013-03-14 03:09:14 +0100
committerGravatar Nikias Bassen2013-03-14 03:09:14 +0100
commit4222bc1b880d6535462e3b5ba5431809a3c5fddc (patch)
treeb664bbdfe96d162930b2719ec920cd149684b0ed /src/installation_proxy.c
parent23abc8303b8cad9251cd4ea4b5fa5af28e5f0b24 (diff)
downloadlibimobiledevice-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.c8
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)
*/
instproxy_error_t instproxy_client_new(idevice_t device, lockdownd_service_descriptor_t service, instproxy_client_t *client)
{
- if (!device)
- return INSTPROXY_E_INVALID_ARG;
-
property_list_service_client_t plistclient = NULL;
- if (property_list_service_client_new(device, service, &plistclient) != PROPERTY_LIST_SERVICE_E_SUCCESS) {
- return INSTPROXY_E_CONN_FAILED;
+ instproxy_error_t err = instproxy_error(property_list_service_client_new(device, service, &plistclient));
+ if (err != INSTPROXY_E_SUCCESS) {
+ return err;
}
instproxy_client_t client_loc = (instproxy_client_t) malloc(sizeof(struct instproxy_client_private));