diff options
author | agl@chromium.org <agl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-07-17 18:10:23 +0000 |
---|---|---|
committer | agl@chromium.org <agl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-07-17 18:10:23 +0000 |
commit | 1f523dc9b34f3f6e2ca73d52e1c060368a268c2a (patch) | |
tree | c5afbcbedf68420a9dea79b9d995bcbe494def39 /crypto/ghash.cc | |
parent | c3da25020001e7b0ece441ab5fe403949d6789b1 (diff) | |
download | chromium_src-1f523dc9b34f3f6e2ca73d52e1c060368a268c2a.zip chromium_src-1f523dc9b34f3f6e2ca73d52e1c060368a268c2a.tar.gz chromium_src-1f523dc9b34f3f6e2ca73d52e1c060368a268c2a.tar.bz2 |
net: fix buffer overflow in GHASH.
Thanks to Joel Sing for noticing.
BUG=none
R=rtenneti@chromium.org
Review URL: https://codereview.chromium.org/19619003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@212090 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'crypto/ghash.cc')
-rw-r--r-- | crypto/ghash.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/crypto/ghash.cc b/crypto/ghash.cc index 939dd0b..5b28c44 100644 --- a/crypto/ghash.cc +++ b/crypto/ghash.cc @@ -229,7 +229,7 @@ void GaloisHash::UpdateBlocks(const uint8* bytes, size_t num_blocks) { void GaloisHash::Update(const uint8* data, size_t length) { if (buf_used_ > 0) { - const size_t n = std::min(length, buf_used_); + const size_t n = std::min(length, sizeof(buf_) - buf_used_); memcpy(&buf_[buf_used_], data, n); buf_used_ += n; length -= n; |