diff options
author | cmasone@chromium.org <cmasone@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-04-07 17:42:03 +0000 |
---|---|---|
committer | cmasone@chromium.org <cmasone@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-04-07 17:42:03 +0000 |
commit | 1ae412959a5ff5cfe4d2538f8580df8645631eec (patch) | |
tree | fa83d6ab2f8e1a3b7828a5881caa3aa058937ce7 | |
parent | 6a89ef2c78c7b2ae2b56b3c50cafb493cedfd8d7 (diff) | |
download | chromium_src-1ae412959a5ff5cfe4d2538f8580df8645631eec.zip chromium_src-1ae412959a5ff5cfe4d2538f8580df8645631eec.tar.gz chromium_src-1ae412959a5ff5cfe4d2538f8580df8645631eec.tar.bz2 |
[Chrome OS] Request{Store|Retrieve}Policy require explicit lengths
match recent libcros changes around Store/RetrievePolicy
BUG=None
TEST=unit tests
R=stevenjb@chromium.org
Review URL: http://codereview.chromium.org/6815001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@80807 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/browser/chromeos/cros/login_library.cc | 4 | ||||
-rw-r--r-- | chrome/browser/chromeos/login/signed_settings.cc | 16 | ||||
-rw-r--r-- | chrome/browser/chromeos/login/signed_settings_unittest.cc | 12 | ||||
-rw-r--r-- | tools/cros.DEPS/DEPS | 2 |
4 files changed, 21 insertions, 13 deletions
diff --git a/chrome/browser/chromeos/cros/login_library.cc b/chrome/browser/chromeos/cros/login_library.cc index fe6b505..4d5d4e4 100644 --- a/chrome/browser/chromeos/cros/login_library.cc +++ b/chrome/browser/chromeos/cros/login_library.cc @@ -65,7 +65,7 @@ class LoginLibraryImpl : public LoginLibrary { StorePolicyCallback callback, void* delegate) { DCHECK(callback) << "must provide a callback to StorePolicy()"; - chromeos::StorePolicy(policy.c_str(), callback, delegate); + chromeos::StorePolicy(policy.c_str(), policy.length(), callback, delegate); } bool StorePropertyAsync(const std::string& name, @@ -281,7 +281,7 @@ class LoginLibraryStubImpl : public LoginLibrary { return true; } void RequestRetrievePolicy(RetrievePolicyCallback callback, void* delegate) { - callback(delegate, ""); + callback(delegate, "", 0); } void RequestRetrieveProperty(const std::string& name, RetrievePropertyCallback callback, diff --git a/chrome/browser/chromeos/login/signed_settings.cc b/chrome/browser/chromeos/login/signed_settings.cc index 495234c..3526b13 100644 --- a/chrome/browser/chromeos/login/signed_settings.cc +++ b/chrome/browser/chromeos/login/signed_settings.cc @@ -145,12 +145,14 @@ class RetrievePolicyOp : public SignedSettings { const std::vector<uint8>& payload); private: - static void OnStringComplete(void* delegate, const char* policy); + static void OnStringComplete(void* delegate, + const char* policy, + const unsigned int len); em::PolicyFetchResponse policy_; SignedSettings::Delegate<const em::PolicyFetchResponse&>* d_; - void ProcessPolicy(const char* policy); + void ProcessPolicy(const char* out, const unsigned int len); }; // static @@ -513,13 +515,15 @@ void RetrievePolicyOp::OnKeyOpComplete( } // static -void RetrievePolicyOp::OnStringComplete(void* delegate, const char* out) { +void RetrievePolicyOp::OnStringComplete(void* delegate, + const char* out, + const unsigned int len) { RetrievePolicyOp* op = static_cast<RetrievePolicyOp*>(delegate); - op->ProcessPolicy(out); + op->ProcessPolicy(out, len); } -void RetrievePolicyOp::ProcessPolicy(const char* out) { - if (!out || !policy_.ParseFromString(out)) { +void RetrievePolicyOp::ProcessPolicy(const char* out, const unsigned int len) { + if (!out || !policy_.ParseFromString(std::string(out, len))) { d_->OnSettingsOpCompleted(NOT_FOUND, policy_); return; } diff --git a/chrome/browser/chromeos/login/signed_settings_unittest.cc b/chrome/browser/chromeos/login/signed_settings_unittest.cc index 90e2f30..e536871 100644 --- a/chrome/browser/chromeos/login/signed_settings_unittest.cc +++ b/chrome/browser/chromeos/login/signed_settings_unittest.cc @@ -496,7 +496,8 @@ TEST_F(SignedSettingsTest, RetrievePolicy) { MockLoginLibrary* lib = MockLoginLib(); EXPECT_CALL(*lib, RequestRetrievePolicy(_, s.get())) .WillOnce(InvokeArgument<0>(static_cast<void*>(s.get()), - signed_serialized.c_str())) + signed_serialized.c_str(), + signed_serialized.length())) .RetiresOnSaturation(); mock_service(s.get(), &m_); @@ -521,7 +522,8 @@ TEST_F(SignedSettingsTest, RetrieveNoPolicy) { MockLoginLibrary* lib = MockLoginLib(); EXPECT_CALL(*lib, RequestRetrievePolicy(_, s.get())) .WillOnce(InvokeArgument<0>(static_cast<void*>(s.get()), - static_cast<const char*>(NULL))) + static_cast<const char*>(NULL), + 0)) .RetiresOnSaturation(); s->Execute(); @@ -541,7 +543,8 @@ TEST_F(SignedSettingsTest, RetrieveUnsignedPolicy) { MockLoginLibrary* lib = MockLoginLib(); EXPECT_CALL(*lib, RequestRetrievePolicy(_, s.get())) .WillOnce(InvokeArgument<0>(static_cast<void*>(s.get()), - serialized.c_str())) + serialized.c_str(), + serialized.length())) .RetiresOnSaturation(); s->Execute(); @@ -561,7 +564,8 @@ TEST_F(SignedSettingsTest, RetrieveMalsignedPolicy) { MockLoginLibrary* lib = MockLoginLib(); EXPECT_CALL(*lib, RequestRetrievePolicy(_, s.get())) .WillOnce(InvokeArgument<0>(static_cast<void*>(s.get()), - signed_serialized.c_str())) + signed_serialized.c_str(), + signed_serialized.length())) .RetiresOnSaturation(); mock_service(s.get(), &m_); diff --git a/tools/cros.DEPS/DEPS b/tools/cros.DEPS/DEPS index 9043f55..c94dddd 100644 --- a/tools/cros.DEPS/DEPS +++ b/tools/cros.DEPS/DEPS @@ -4,5 +4,5 @@ vars = { deps = { "src/third_party/cros": - Var("chromium_git") + "/cros.git@890f2f00", + Var("chromium_git") + "/cros.git@4f6c04ef", } |