aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/objective-c/GRPCClient/private/GRPCHost.m
diff options
context:
space:
mode:
authorGravatar Konstantin Varlamov <varconst@google.com>2018-06-03 18:27:58 -0400
committerGravatar Konstantin Varlamov <varconst@google.com>2018-06-03 18:27:58 -0400
commite05196d8190300cfa2ad77f2a25ffd97cfa8486d (patch)
tree5abac45a1cfe2a5c377991f4fbe08c0f300f1ce5 /src/objective-c/GRPCClient/private/GRPCHost.m
parenta9b235a22489ca2629e45e2eca66384abcb9b73f (diff)
Review feedback
Diffstat (limited to 'src/objective-c/GRPCClient/private/GRPCHost.m')
-rw-r--r--src/objective-c/GRPCClient/private/GRPCHost.m13
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);