From a89123e7272a88d39d0f99a3cc53e817bad6abb5 Mon Sep 17 00:00:00 2001 From: Amos Joshua Date: Thu, 6 Apr 2023 11:55:16 +0200 Subject: [PATCH] avoid error dereference, fix string format warnings --- TrustKit/Pinning/pinning_utils.m | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/TrustKit/Pinning/pinning_utils.m b/TrustKit/Pinning/pinning_utils.m index 0d6ff9a..29cd9da 100644 --- a/TrustKit/Pinning/pinning_utils.m +++ b/TrustKit/Pinning/pinning_utils.m @@ -18,15 +18,17 @@ void evaluateCertificateChainTrust(SecTrustRef serverTrust, SecTrustResultType * CFErrorRef errorRef; bool certificateEvaluationSucceeded = SecTrustEvaluateWithError(serverTrust, &errorRef); OSStatus status = SecTrustGetTrustResult(serverTrust, trustResult); - if (status != errSecSuccess) - { - certificateEvaluationSucceeded = false; - NSString *errDescription = [NSString stringWithFormat:@"got status %d", status]; - *error = [[NSError alloc] initWithDomain:@"com.datatheorem.trustkit" code:1 userInfo:@{NSLocalizedDescriptionKey:errDescription}]; - } - else if (!certificateEvaluationSucceeded && (error != NULL)) - { - *error = (__bridge_transfer NSError *)errorRef; + if (error != NULL) { + if (status != errSecSuccess) + { + certificateEvaluationSucceeded = false; + NSString *errDescription = [NSString stringWithFormat:@"got status %d", (int)status]; + *error = [[NSError alloc] initWithDomain:@"com.datatheorem.trustkit" code:1 userInfo:@{NSLocalizedDescriptionKey:errDescription}]; + } + else if (!certificateEvaluationSucceeded) + { + *error = (__bridge_transfer NSError *)errorRef; + } } } else @@ -37,7 +39,7 @@ void evaluateCertificateChainTrust(SecTrustRef serverTrust, SecTrustResultType * OSStatus status = SecTrustEvaluate(serverTrust, trustResult); #pragma clang diagnostic pop if (status != errSecSuccess && (error != NULL)) { - NSString *errDescription = [NSString stringWithFormat:@"got status %d", status]; + NSString *errDescription = [NSString stringWithFormat:@"got status %d", (int)status]; *error = [[NSError alloc] initWithDomain:@"com.datatheorem.trustkit" code:2 userInfo:@{NSLocalizedDescriptionKey:errDescription}]; } }