Здесь и в других местах желательно проверять на переполнение.