Индекс форумов |
Исходное сообщение |
---|
"Уязвимости в драйвере к GPU ARM, уже применяемые для соверше..." Отправлено Совершенно другой аноним, 05-Окт-23 13:23 |
В том плане - фунция fgets() ожидает буфер, имеющий возможность хранить как минимум один введённый символ и признак окончания строки '\0'. В стандарте про значение n написано явно, что оно должно быть на 1 меньше, чем хотят ввести данных. Может "диды" не догадывались, что потомки будут хотеть, по факту, ввести 0 символов. Как Вам привели выше, в glibc от этой ситуации явно защитились, даже комментарий написали, и в таком случае говорят, что ввод прошел нормально, и в буфер записывают символ с кодом '\0'. Формально они поступают правильно - ошибки именно ввода-вывода не было, попросили ввести 0 символов - получите. NULL они вернуть не могут, потом-как его возвращают ТОЛЬКО по ошибке ввода, которого небыло. Как в том анекдоте: |
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования. |
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |