From d9d41fa898c14c3117d94f439ec5b5e23a0cadeb Mon Sep 17 00:00:00 2001 From: Jorge Canizales Date: Sat, 8 Aug 2015 17:51:58 -0700 Subject: [PATCH] Prevent storing in the hosts cache with a nil key --- src/objective-c/GRPCClient/private/GRPCHost.m | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/objective-c/GRPCClient/private/GRPCHost.m b/src/objective-c/GRPCClient/private/GRPCHost.m index d902f95b516..e47375a8666 100644 --- a/src/objective-c/GRPCClient/private/GRPCHost.m +++ b/src/objective-c/GRPCClient/private/GRPCHost.m @@ -57,13 +57,16 @@ // Default initializer. - (instancetype)initWithAddress:(NSString *)address { + if (!address) { + return nil; + } // To provide a default port, we try to interpret the address. If it's just a host name without // scheme and without port, we'll use port 443. If it has a scheme, we pass it untouched to the C // gRPC library. // TODO(jcanizales): Add unit tests for the types of addresses we want to let pass untouched. NSURL *hostURL = [NSURL URLWithString:[@"https://" stringByAppendingString:address]]; - if (hostURL && !hostURL.port) { + if (hostURL.host && !hostURL.port) { address = [hostURL.host stringByAppendingString:@":443"]; }