Обсуждение:Ошибка на единицу

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Переписать раздел: Проблемы безопасности[править код]

Такое ощущение, что изначально в примере была strncpy(), но кто-то ничтоже сумняще заменил ее на ненужную strncat(), оставив все остальное без именений (или почти без изменений).

  • раздел использует вырожденный пример, для которого не требуется strncat(), достаточно strncpy(), из-за этого требуется дополнительная инициализация (которую я восстановил)
  • описание и комментарии верны для strncpy(), но, как минимум, недостаточны для strncat()
  • strncpy() больше соответвует предмету статьи, проблемы strncat() гораздо шире и выходят за рамки предмета статьи (это просто кривущая функция)

Кроме того, off-by-one для буферов (однобайтовое переполнение) не только и не сколько strncpy/strncat(), требуется общее описание.

Посему, раздел требует восстановления (если мое первое предположение верно) или переработки. Grain (обс.) 20:29, 6 мая 2020 (UTC)[ответить]