summaryrefslogtreecommitdiffstats
path: root/src/service.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/service.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/service.c')
-rw-r--r--src/service.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/service.c b/src/service.c
index 959c9fb..abd1696 100644
--- a/src/service.c
+++ b/src/service.c
@@ -66,7 +66,7 @@ static service_error_t idevice_to_service_error(idevice_error_t err)
66 */ 66 */
67service_error_t service_client_new(idevice_t device, lockdownd_service_descriptor_t service, service_client_t *client) 67service_error_t service_client_new(idevice_t device, lockdownd_service_descriptor_t service, service_client_t *client)
68{ 68{
69 if (!device || (service->port == 0) || !client || *client) 69 if (!device || !service || service->port == 0 || !client || *client)
70 return SERVICE_E_INVALID_ARG; 70 return SERVICE_E_INVALID_ARG;
71 71
72 /* Attempt connection */ 72 /* Attempt connection */
@@ -117,7 +117,7 @@ service_error_t service_client_factory_start_service(idevice_t device, const cha
117 lockdownd_start_service(lckd, service_name, &service); 117 lockdownd_start_service(lckd, service_name, &service);
118 lockdownd_client_free(lckd); 118 lockdownd_client_free(lckd);
119 119
120 if (service->port <= 0) { 120 if (!service || service->port == 0) {
121 debug_info("Could not start service %s!", service_name); 121 debug_info("Could not start service %s!", service_name);
122 return SERVICE_E_START_SERVICE_ERROR; 122 return SERVICE_E_START_SERVICE_ERROR;
123 } 123 }