Правило 9.1 MISRA C:2012

Значение объекта с длительностью автоматического хранения не должно быть считано, прежде чем это было установлено

Описание

Сообщение в отчете:

Управляйте определением

Значение объекта с длительностью автоматического хранения не должно быть считано, прежде чем это было установлено.

Объяснение

Переменная с длительностью автоматического хранения является выделенной памятью в начале блока включения кода и освобожденный в конце. Все неглобальные переменные имеют эту продолжительность хранения, кроме объявленных static или extern.

Переменные с длительностью автоматического хранения автоматически не инициализируются и имеют неопределенные значения. Поэтому вы не должны читать такую переменную, прежде чем вы установили ее значение посредством операции записи.

Реализация Polyspace

Анализ Polyspace® проверяет некоторые нарушения как неинициализированные переменные. Для получения дополнительной информации смотрите Non-initialized variable.

Polyspace Bug Finder™ и Polyspace Code Prover™ проверяют это правило кодирования по-другому. Исследования могут привести к различным результатам. В Программе автоматического доказательства Кода можно также видеть различие в результатах на основе выбора для опции. Смотрите Проверку на Кодирование Стандартных Нарушений.

Обменивайтесь сообщениями в отчете

Значение объекта с длительностью автоматического хранения не должно быть считано, прежде чем это было установлено.

Поиск и устранение проблем

Если вы ожидаете нарушение правила, но не видите его, обратитесь к Кодированию Стандартных Нарушений, Не Отображенных.

Проверяйте информацию

Группа: инициализация
Категория: обязательный
Категория AGC: обязательный
Язык: C90, C99

Введенный в R2014b