| Index: crypto/hkdf.cc
|
| ===================================================================
|
| --- crypto/hkdf.cc (revision 184497)
|
| +++ crypto/hkdf.cc (working copy)
|
| @@ -49,7 +49,7 @@
|
| 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 @@
|
| 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 @@
|
| j += iv_bytes_to_generate;
|
| server_write_iv_ = base::StringPiece(reinterpret_cast<char*>(&output_[j]),
|
| iv_bytes_to_generate);
|
| - delete[] buf;
|
| }
|
|
|
| HKDF::~HKDF() {
|
|
|