From 4c18dcff8948c04e004b5236069c6dbbfc7ae1ef Mon Sep 17 00:00:00 2001 From: Nikias Bassen Date: Mon, 7 Dec 2009 16:37:47 +0100 Subject: [PATCH 1/6] [lockdown] fix lockdownd_pair returning success on error This fixes a bug where lockdown_check_result() might return -1 and lockdownd_pair() still returns success. Thanks to dborca for spotting this. --- src/lockdown.c | 5 ++--- 1 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/lockdown.c b/src/lockdown.c index b182706..ebdfeaf 100644 --- a/src/lockdown.c +++ b/src/lockdown.c @@ -742,8 +742,8 @@ lockdownd_error_t lockdownd_pair(lockdownd_client_t client, char *uuid, char *ho if (ret != LOCKDOWN_E_SUCCESS) return ret; - if (lockdown_check_result(dict, "Pair") == RESULT_SUCCESS) { - ret = LOCKDOWN_E_SUCCESS; + if (lockdown_check_result(dict, "Pair") != RESULT_SUCCESS) { + ret = LOCKDOWN_E_PAIRING_FAILED; } plist_free(dict); dict = NULL; @@ -754,7 +754,6 @@ lockdownd_error_t lockdownd_pair(lockdownd_client_t client, char *uuid, char *ho userpref_set_device_public_key(uuid, public_key); } else { log_dbg_msg(DBGMASK_LOCKDOWND, "%s: pair failure\n", __func__); - ret = LOCKDOWN_E_PAIRING_FAILED; } free(public_key.data); return ret; -- 1.6.3.3