> Но |= всё равно логично использовать вместо +=, чтобы переполнение в ноль
> было принципиально невозможно.По своему прикольный ход мыслей, спасибо. Впрочем, переполнение можно рубануть и с другого бока. Скажем если максимум 100 символов как в примере - взять flag не менее u16, он никогда не переполнится "by design". Гарантировано математикой. Максимальная сумма 100 байтов - не более 25500. Это точно лезет в u16 или более крупное.
Более того - при написании программ что-то делающих с внешними данными этот момент нехило учитывать везде. Иначе однажды хаксор введет/пришлет не то что вы задумали. И тут окажется что логика отъезжает... и 50/50 что это - вулн, если это дает атакующему что-то полезное.