summaryrefslogtreecommitdiffstats
path: root/crypto/ghash.cc
diff options
context:
space:
mode:
authoragl@chromium.org <agl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-17 18:10:23 +0000
committeragl@chromium.org <agl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-17 18:10:23 +0000
commit1f523dc9b34f3f6e2ca73d52e1c060368a268c2a (patch)
treec5afbcbedf68420a9dea79b9d995bcbe494def39 /crypto/ghash.cc
parentc3da25020001e7b0ece441ab5fe403949d6789b1 (diff)
downloadchromium_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.cc2
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;