История изменений
Исправление
vertexua,
(текущая версия)
:
Компилируешь с -fsanitize=bounds и всё, все индексы у массивов проверяются.
Для какого кода? Попробовал, создаю массив динамически через malloc в С, через vector в С++ на три элемента. Пишу в 10й. Все молча компилируется, даже работает.
Я как-то не так понял? Я еще добавил -O2. Это мешает? Пробовал и GCC и clang.
Да, если я прямо пишу int a[3]
, то да, оно не дает статически записать в 10й, но это унылая проверка.
Исходная версия
vertexua,
:
Компилируешь с -fsanitize=bounds и всё, все индексы у массивов проверяются.
Для какого кода? Попробовал, создаю массив динамически через malloc в С, через vector в С++ на три элемента. Пишу в 10й. Все молча компилируется, даже работает.
Я как-то не так понял?
Да, если я прямо пишу int a[3]
, то да, оно не дает статически записать в 10й, но это унылая проверка.