История изменений
Исправление hateyoufeel, (текущая версия) :
да, и вы тут её обсасывали. это ошибка в коде. но эта ошибка скомпилится и проявится уже в рантайме. надо проверять, что у тебя на входе. и если на вход могут попадать непонятные данные, то использовать функции с проверкой переполнения. как-то так.
Что «да»? Повторюсь: я не верю, что ты пишешь код без багов. И я на 100% уверен, что в твоём коде где-то да есть UB. Не твоя вина, на самом деле – это общая проблема языка Си, и именно поэтому я его тут и обсираю. Си без UB без бы гораздо лучшим языком.
как я уже тоже писала, в реальной жизни такие куски кода не встречаются, чаще всего. потому что переполнения возникают очень редко.
Я тебе ссылку на CVE зачем дал? Там только в этом году только в ведре лялекса несколько дыр из-за integer overflow нашли. Не встречаются в реальной жизни, ага. Конечно.
UB, правда, не при делах, потому что лялекс собирают с -fwrapv.
в обычной программе переполнение должно вызывать сигнал переполнения и приводить к завершению.
Кому должно? В Си функции с проверкой переполнения появились только в предпоследнем стандарте и я почти не видел чтобы ими кто-то пользовался.
Исправление hateyoufeel, :
да, и вы тут её обсасывали. это ошибка в коде. но эта ошибка скомпилится и проявится уже в рантайме. надо проверять, что у тебя на входе. и если на вход могут попадать непонятные данные, то использовать функции с проверкой переполнения. как-то так.
Что «да»? Повторюсь: я не верю, что ты пишешь код без багов. И я на 100% уверен, что в твоём коде где-то да есть UB. Не твоя вина, на самом деле – это общая проблема языка Си, и именно поэтому я его тут и обсираю. Си без UB без бы гораздо лучшим языком.
как я уже тоже писала, в реальной жизни такие куски кода не встречаются, чаще всего. потому что переполнения возникают очень редко.
Я тебе ссылку на CVE зачем дал? Там только в этом году только в ведре лялекса несколько дыр из-за integer overflow нашли. Не встречаются в реальной жизни, ага. Конечно.
UB, правда, не при делах, потому что лялекс собирают с -fwrapv.
Исправление hateyoufeel, :
да, и вы тут её обсасывали. это ошибка в коде. но эта ошибка скомпилится и проявится уже в рантайме. надо проверять, что у тебя на входе. и если на вход могут попадать непонятные данные, то использовать функции с проверкой переполнения. как-то так.
Что «да»? Повторюсь: я не верю, что ты пишешь код без багов. И я на 100% уверен, что в твоём коде где-то да есть UB. Не твоя вина, на самом деле – это общая проблема языка Си, и именно поэтому я его тут и обсираю. Си без UB без бы гораздо лучшим языком.
как я уже тоже писала, в реальной жизни такие куски кода не встречаются, чаще всего. потому что переполнения возникают очень редко.
Я тебе ссылку на CVE зачем дал? Там только в этом году только в ведре лялекса несколько дыр из-за integer overflow нашли. Не встречаются в реальной жизни, ага. Конечно.
Исходная версия hateyoufeel, :
да, и вы тут её обсасывали. это ошибка в коде. но эта ошибка скомпилится и проявится уже в рантайме. надо проверять, что у тебя на входе. и если на вход могут попадать непонятные данные, то использовать функции с проверкой переполнения. как-то так.
Что «да»? Повторюсь: я не верю, что ты пишешь код без багов. И я на 100% уверен, что в твоём коде где-то да есть UB. Не твоя вина, на самом деле – это общая проблема языка Си, и именно поэтому я его тут и обсираю. Си без UB без бы гораздо лучшим языком.