outlen > INT_MAX
it results in segfault or hang (when outlen
is a multiple of 2^32) on most implementations due to conversion in: int now = outlen
producing negative values or zero. Unreachable in current code and highly improbable in future practice, but fits contract better and fixes a couple of compiler warnings.