Fix checking return values from usbmuxd
diff --git a/src/libusbmuxd.c b/src/libusbmuxd.c
index eaba498..2bea51a 100644
--- a/src/libusbmuxd.c
+++ b/src/libusbmuxd.c
@@ -1105,7 +1105,7 @@
 	} else {
 		uint32_t rc = 0;
 		plist_t pl = NULL;
-		if (usbmuxd_get_result(sfd, use_tag, &rc, &pl)) {
+		if (usbmuxd_get_result(sfd, use_tag, &rc, &pl) && (rc == 0)) {
 			plist_t node = plist_dict_get_item(pl, "BUID");
 			if (node && plist_get_node_type(node) == PLIST_STRING) {
 				plist_get_string_val(node, buid);
@@ -1146,7 +1146,7 @@
 	} else {
 		uint32_t rc = 0;
 		plist_t pl = NULL;
-		if (usbmuxd_get_result(sfd, use_tag, &rc, &pl)) {
+		if (usbmuxd_get_result(sfd, use_tag, &rc, &pl) && (rc == 0)) {
 			plist_t node = plist_dict_get_item(pl, "PairRecordData");
 			if (node && plist_get_node_type(node) == PLIST_DATA) {
 				uint64_t int64val = 0;
@@ -1190,7 +1190,7 @@
 		DEBUG(1, "%s: Error sending SavePairRecord message!\n", __func__);
 	} else {
 		uint32_t rc = 0;
-		if (usbmuxd_get_result(sfd, use_tag, &rc, NULL)) {
+		if (usbmuxd_get_result(sfd, use_tag, &rc, NULL) && (rc == 0)) {
 			ret = 0;
 		} else {
 			ret = -(int)rc;
@@ -1225,7 +1225,7 @@
 		DEBUG(1, "%s: Error sending DeletePairRecord message!\n", __func__);
 	} else {
 		uint32_t rc = 0;
-		if (usbmuxd_get_result(sfd, use_tag, &rc, NULL)) {
+		if (usbmuxd_get_result(sfd, use_tag, &rc, NULL) && (rc == 0)) {
 			ret = 0;
 		} else {
 			ret = -(int)rc;