diff options
author | Konstantin Varlamov <varconst@google.com> | 2018-06-03 18:27:58 -0400 |
---|---|---|
committer | Konstantin Varlamov <varconst@google.com> | 2018-06-03 18:27:58 -0400 |
commit | e05196d8190300cfa2ad77f2a25ffd97cfa8486d (patch) | |
tree | 5abac45a1cfe2a5c377991f4fbe08c0f300f1ce5 /src/objective-c/GRPCClient/private/GRPCHost.m | |
parent | a9b235a22489ca2629e45e2eca66384abcb9b73f (diff) |
Review feedback
Diffstat (limited to 'src/objective-c/GRPCClient/private/GRPCHost.m')
-rw-r--r-- | src/objective-c/GRPCClient/private/GRPCHost.m | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/objective-c/GRPCClient/private/GRPCHost.m b/src/objective-c/GRPCClient/private/GRPCHost.m index 308782c8b6..166e50f245 100644 --- a/src/objective-c/GRPCClient/private/GRPCHost.m +++ b/src/objective-c/GRPCClient/private/GRPCHost.m @@ -126,9 +126,10 @@ static NSMutableDictionary *kHostCache; completionQueue:queue]; } -- (NSData *)dataWithNsString:(NSString *)string { +- (NSData *)nullTerminatedDataWithString:(NSString *)string { + // dataUsingEncoding: does not return a null-terminated string. NSData *data = [string dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES]; - NSMutableData *nullTerminated = [NSMutableData dataWithData: data]; + NSMutableData *nullTerminated = [NSMutableData dataWithData:data]; [nullTerminated appendBytes:"\0" length:1]; return nullTerminated; } @@ -154,12 +155,12 @@ static NSMutableDictionary *kHostCache; kDefaultRootsError = error; return; } - kDefaultRootsASCII = [self dataWithNsString:contentInUTF8]; + kDefaultRootsASCII = [self nullTerminatedDataWithString:contentInUTF8]; }); NSData *rootsASCII; if (pemRootCerts != nil) { - rootsASCII = [self dataWithNsString:pemRootCerts]; + rootsASCII = [self nullTerminatedDataWithString:pemRootCerts]; } else { if (kDefaultRootsASCII == nil) { if (errorPtr) { @@ -182,8 +183,8 @@ static NSMutableDictionary *kHostCache; creds = grpc_ssl_credentials_create(rootsASCII.bytes, NULL, NULL); } else { grpc_ssl_pem_key_cert_pair key_cert_pair; - NSData *privateKeyASCII = [self dataWithNsString:pemPrivateKey]; - NSData *certChainASCII = [self dataWithNsString:pemCertChain]; + NSData *privateKeyASCII = [self nullTerminatedDataWithString:pemPrivateKey]; + NSData *certChainASCII = [self nullTerminatedDataWithString:pemCertChain]; key_cert_pair.private_key = privateKeyASCII.bytes; key_cert_pair.cert_chain = certChainASCII.bytes; creds = grpc_ssl_credentials_create(rootsASCII.bytes, &key_cert_pair, NULL); |