Note that the len2 argument of crc_combine*() must be non-negative. If it is negative, then the code will enter an infinite loop.