@rf все же пиздят а как правильно или как верно хуячить на плюсиках дядь?
вот гайд от NASA. С таким кодом хуй че сломается.
1) Ограничивайте управление потоком: Избегайте сложных конструкций, таких как goto, setjmp, longjmp или рекурсия.
2) Циклы с ограничением: Убедитесь, что у всех циклов есть фиксированный верхний предел, чтобы предотвратить бесконечные циклы.
3) Не используйте динамическую память после инициализации: Избегайте использования malloc или new после этапа инициализации.
4) Ограничение длины функций: Поддерживайте функции достаточно короткими, чтобы они могли поместиться на одной печатной странице.
5) Используйте утверждения (assertions): В каждой функции должно быть минимум два утверждения для проверки потенциальных ошибок.
6) Сужайте область видимости данных: Объявляйте переменные в минимально возможной области, чтобы избежать непреднамеренных эффектов.
7) Проверяйте вызовы функций: Всегда проверяйте возвращаемые значения функций и убедитесь в корректности параметров.
8) Минимизируйте использование препроцессора: Используйте препроцессор только для подключения заголовочных файлов и простых макросов.
9) Ограничивайте использование указателей: Используйте указатели с минимальным количеством разыменований и избегайте использования указателей на функции.
10) Компилируйте с предупреждениями: Включайте все возможные предупреждения компилятора и исправляйте их перед выпуском программного обеспечения.
ебаште на ночь как отченаше -> https://swehb.nasa.gov/display/SWEHBVC/SWE-207+-+Secure+Coding+Practices