diff options
author | rtenneti@chromium.org <rtenneti@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-02-27 02:13:13 +0000 |
---|---|---|
committer | rtenneti@chromium.org <rtenneti@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-02-27 02:13:13 +0000 |
commit | acb66cb86c08e4f861f46e1bbbf89078d474d918 (patch) | |
tree | 0d2d02f717ad93b430f16a8c9c553ce5422b4860 /crypto | |
parent | 4cf6acf25c08cfe7ca0903767fec12e562c16a36 (diff) | |
download | chromium_src-acb66cb86c08e4f861f46e1bbbf89078d474d918.zip chromium_src-acb66cb86c08e4f861f46e1bbbf89078d474d918.tar.gz chromium_src-acb66cb86c08e4f861f46e1bbbf89078d474d918.tar.bz2 |
CRYPTO - Resolved comments from wtc. Used scoped_ptr<char[]> and
deletion of virtual and removed and'ing with 0xFF.
R=wtc@chromium.org
TEST=crypt unittests
Review URL: https://chromiumcodereview.appspot.com/12330157
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@184832 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'crypto')
-rw-r--r-- | crypto/hkdf.cc | 11 | ||||
-rw-r--r-- | crypto/hkdf.h | 2 |
2 files changed, 6 insertions, 7 deletions
diff --git a/crypto/hkdf.cc b/crypto/hkdf.cc index 9b34e8b..e621bcb 100644 --- a/crypto/hkdf.cc +++ b/crypto/hkdf.cc @@ -49,7 +49,7 @@ HKDF::HKDF(const base::StringPiece& secret, output_.resize(n * kSHA256HashLength); base::StringPiece previous; - char* buf = new char[kSHA256HashLength + info.size() + 1]; + scoped_ptr<char[]> buf(new char[kSHA256HashLength + info.size() + 1]); uint8 digest[kSHA256HashLength]; HMAC hmac(HMAC::SHA256); @@ -57,13 +57,13 @@ HKDF::HKDF(const base::StringPiece& secret, DCHECK(result); for (size_t i = 0; i < n; i++) { - memcpy(buf, previous.data(), previous.size()); + memcpy(buf.get(), previous.data(), previous.size()); size_t j = previous.size(); - memcpy(buf + j, info.data(), info.size()); + memcpy(buf.get() + j, info.data(), info.size()); j += info.size(); - buf[j++] = static_cast<char>((i + 1) & 0xFF); + buf[j++] = static_cast<char>(i + 1); - result = hmac.Sign(base::StringPiece(buf, j), digest, sizeof(digest)); + result = hmac.Sign(base::StringPiece(buf.get(), j), digest, sizeof(digest)); DCHECK(result); memcpy(&output_[i*sizeof(digest)], digest, sizeof(digest)); @@ -83,7 +83,6 @@ HKDF::HKDF(const base::StringPiece& secret, j += iv_bytes_to_generate; server_write_iv_ = base::StringPiece(reinterpret_cast<char*>(&output_[j]), iv_bytes_to_generate); - delete[] buf; } HKDF::~HKDF() { diff --git a/crypto/hkdf.h b/crypto/hkdf.h index 4306d3f..c980c36 100644 --- a/crypto/hkdf.h +++ b/crypto/hkdf.h @@ -35,7 +35,7 @@ class CRYPTO_EXPORT HKDF { const base::StringPiece& info, size_t key_bytes_to_generate, size_t iv_bytes_to_generate); - virtual ~HKDF(); + ~HKDF(); base::StringPiece client_write_key() const { return client_write_key_; |