Make sure to mask when casting byte to short in receiveBytes()

fix an issue where lc > 0x80 the sign byte is promoted to the short len in receiveBytes()