diff options
author | pkl@chromium.org <pkl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-06-05 20:05:43 +0000 |
---|---|---|
committer | pkl@chromium.org <pkl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-06-05 20:05:43 +0000 |
commit | 0644db76591e63748953bb0ab33729ca6652f7b3 (patch) | |
tree | e51078ec46ce55ec22658004b4392479467b0641 /base/ios | |
parent | 0f7704c26e2e85b50b1bb26911923053b501dab7 (diff) | |
download | chromium_src-0644db76591e63748953bb0ab33729ca6652f7b3.zip chromium_src-0644db76591e63748953bb0ab33729ca6652f7b3.tar.gz chromium_src-0644db76591e63748953bb0ab33729ca6652f7b3.tar.bz2 |
Fixed string conversions to avoid nil pointers.
base_unittests was failing on iOS 6 devices. This fixes it.
Review URL: https://codereview.chromium.org/314123002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@275227 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/ios')
-rw-r--r-- | base/ios/device_util.h | 2 | ||||
-rw-r--r-- | base/ios/device_util.mm | 10 |
2 files changed, 6 insertions, 6 deletions
diff --git a/base/ios/device_util.h b/base/ios/device_util.h index 4e69efc..1cd9a04 100644 --- a/base/ios/device_util.h +++ b/base/ios/device_util.h @@ -72,7 +72,7 @@ std::string GetRandomId(); // something that should be anonymous, you should probably pass NULL. std::string GetDeviceIdentifier(const char* salt); -// Returns a hashed version of |in_string| using |salt| (which must not +// Returns a hashed version of |in_string| using |salt| (which must not be // zero-length). Different salt values should result in differently hashed // strings. std::string GetSaltedString(const std::string& in_string, diff --git a/base/ios/device_util.mm b/base/ios/device_util.mm index 8449537..c3e9c20 100644 --- a/base/ios/device_util.mm +++ b/base/ios/device_util.mm @@ -46,7 +46,7 @@ NSString* GenerateClientId() { if (!client_id || [client_id isEqualToString:kZeroUUID]) { if (base::ios::IsRunningOnIOS6OrLater()) { client_id = [[[UIDevice currentDevice] identifierForVendor] UUIDString]; - if ([client_id isEqualToString:kZeroUUID]) + if (!client_id || [client_id isEqualToString:kZeroUUID]) client_id = base::SysUTF8ToNSString(ios::device_util::GetRandomId()); } else { client_id = base::SysUTF8ToNSString(ios::device_util::GetRandomId()); @@ -157,16 +157,16 @@ std::string GetDeviceIdentifier(const char* salt) { [defaults synchronize]; } - return GetSaltedString([client_id UTF8String], salt ? salt : kDefaultSalt); + return GetSaltedString(base::SysNSStringToUTF8(client_id), + salt ? salt : kDefaultSalt); } std::string GetSaltedString(const std::string& in_string, const std::string& salt) { DCHECK(in_string.length()); DCHECK(salt.length()); - NSData* hash_data = - [[NSString stringWithFormat:@"%s%s", in_string.c_str(), salt.c_str()] - dataUsingEncoding:NSUTF8StringEncoding]; + NSData* hash_data = [base::SysUTF8ToNSString(in_string + salt) + dataUsingEncoding:NSUTF8StringEncoding]; unsigned char hash[CC_SHA256_DIGEST_LENGTH]; CC_SHA256([hash_data bytes], [hash_data length], hash); |