From b678bc5e10462177777a34ba41ee226838decd1c Mon Sep 17 00:00:00 2001 From: Nils Maier Date: Fri, 20 Sep 2013 02:16:23 +0200 Subject: [PATCH] Fix AppleMessageDigestImpl use with large data --- src/AppleMessageDigestImpl.cc | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/AppleMessageDigestImpl.cc b/src/AppleMessageDigestImpl.cc index b3966e32..80ac9e70 100644 --- a/src/AppleMessageDigestImpl.cc +++ b/src/AppleMessageDigestImpl.cc @@ -59,10 +59,12 @@ public: init_fn(&ctx_); } virtual void update(const void* data, size_t length) CXX11_OVERRIDE { + auto bytes = reinterpret_cast(data); while (length) { CC_LONG l = std::min(length, (size_t)std::numeric_limits::max()); - update_fn(&ctx_, data, l); + update_fn(&ctx_, bytes, l); length -= l; + bytes += l; } } virtual void digest(unsigned char* md) CXX11_OVERRIDE {