Chromium Code Reviews| Index: chrome/browser/password_manager/native_backend_libsecret.cc |
| diff --git a/chrome/browser/password_manager/native_backend_libsecret.cc b/chrome/browser/password_manager/native_backend_libsecret.cc |
| index 17051f9ccbf82d1de69850dfb255c26b2c3ffcc0..1ec3158fde02dfbdfe7925564937b4e4e1753075 100644 |
| --- a/chrome/browser/password_manager/native_backend_libsecret.cc |
| +++ b/chrome/browser/password_manager/native_backend_libsecret.cc |
| @@ -19,6 +19,10 @@ using autofill::PasswordForm; |
| using base::UTF8ToUTF16; |
| using base::UTF16ToUTF8; |
| +namespace { |
| +char empty_string[] = ""; |
|
vabr (Chromium)
2015/01/29 14:23:13
const char kEmptyString[] = "";
dvadym
2015/01/29 14:27:57
Done.
|
| +} |
| + |
| typeof(&::secret_password_store_sync) |
| LibsecretLoader::secret_password_store_sync; |
| typeof(&::secret_service_search_sync) |
| @@ -120,13 +124,16 @@ const SecretSchema kLibsecretSchema = { |
| {nullptr, SECRET_SCHEMA_ATTRIBUTE_STRING}}}; |
| char* GetStringFromAttributes(GHashTable* attrs, const char* keyname) { |
| - return static_cast<char*>(g_hash_table_lookup(attrs, keyname)); |
| + gpointer value = g_hash_table_lookup(attrs, keyname); |
| + return value ? static_cast<char*>(value) : empty_string; |
| } |
| uint32_t GetUintFromAttributes(GHashTable* attrs, const char* keyname) { |
| - char* value = static_cast<char*>(g_hash_table_lookup(attrs, keyname)); |
| + gpointer value = g_hash_table_lookup(attrs, keyname); |
| + if (!value) |
| + return uint32_t(); |
| uint32_t result; |
| - bool value_ok = base::StringToUint(value, &result); |
| + bool value_ok = base::StringToUint(static_cast<char*>(value), &result); |
| DCHECK(value_ok); |
| return result; |
| } |