...
In this compliant solution, the length operand is upcast to (unsigned long long) ensuring that the addition takes place in this size.
...
In this compliant solution, the cBlocks operand is upcast to (unsigned long long) ensuring that the multiplication takes place in this size.
...