Fix AppleMessageDigestImpl use with large data

pull/128/merge
Nils Maier 2013-09-20 02:16:23 +02:00
parent 7738063100
commit b678bc5e10
1 changed files with 3 additions and 1 deletions

View File

@ -59,10 +59,12 @@ public:
init_fn(&ctx_);
}
virtual void update(const void* data, size_t length) CXX11_OVERRIDE {
auto bytes = reinterpret_cast<const char*>(data);
while (length) {
CC_LONG l = std::min(length, (size_t)std::numeric_limits<uint32_t>::max());
update_fn(&ctx_, data, l);
update_fn(&ctx_, bytes, l);
length -= l;
bytes += l;
}
}
virtual void digest(unsigned char* md) CXX11_OVERRIDE {