其实这个问题是因为bit_or的算法问题:
BIT_OR function
This function performs bitwise logical "or" of the values in RAW r1 with RAW r2 and returns the "or’d" result RAW.
If r1 and r2 differ in length, then the "or" operation is terminated after the last byte of the shorter of the two RAWs, and the unprocessed portion of the longer RAW is appended to the partial result.The result length equals the longer of the two input
RAWs.在bit_or函数中,如果raw两个参数长度不一样,那就会先对较短长度部分做or操作(从左到右),然后把较长的那个raw的剩余部分加到结果的后面。