04.10.2022 20:11, Evgeniy Berdnikov пишет: > On Tue, Oct 04, 2022 at 12:00:57PM +0000, Korobov Vladimir via nginx-ru wrote: >> После проверки исходного кода статическим анализатором (Svace >> https://www.ispras.ru/technologies/svace/) выделено несколько потенциально >> опасных мест, закрывающихся приложенным патчем. > > Тупое выбрасывание кусков кода при проверке указателя на NULL не только > не решает проблему, но создаёт более опасную ситуацию, когда код приложения > может работать неверно, но ничего об этом не сообщать, так что поймать баг > станет очень трудно. Лучше сегфолт в в точно локализованном месте, чем > глюки непонятно где и непонятно отчего. > > При потенциальной возможности зануления указателя следует ловить и > обрабатывать такое исключение. В противном случае нет смысла в проверке. > Задача же не в ублажении тупых анализаторов, а в правильной работе кода.
Как пользователь разнообразного софта, могу доложить, что сегфолт очень фиговая обработка исключений. Проверка указателя на NULL перед разадресацией в том случае, когда нельзя гарантировать что он не NULL, практически всегда благо. Другой вопрос, что потом делать, если вдруг: молча восстановиться и ехать дальше, или не молча, а с сообщением в лог, или выдать даже stack trace и выйти. Но что угодно лучше сырого сегфолта. _______________________________________________ nginx-ru mailing list -- nginx-ru@nginx.org To unsubscribe send an email to nginx-ru-le...@nginx.org