Rather than worry about truncation casting from a possibly 64bit value down to a possibly 32bit size_t we just limit the total bytes per invocation to 4G using an unsigned integer. Thanks to @seriyps for the report. Fixes #61