MISRA C:2012 Rule 9.1

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

Описание

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

Определение правила

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

Объяснение

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

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

Реализация Polyspace

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

Polyspace Bug Finder™ и Polyspace Code Prover™ по-разному проверить это правило кодирования. Анализы могут привести к различным результатам. В Code Prover также можно увидеть различие в результатах, основанную на вашем выборе для опции Verification level (-to). Смотрите раздел «Проверка на нарушения стандартов кодирования».

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

Если вы ожидаете нарушения правил, но не видите его, обратитесь к разделу «Стандартные нарушения кодирования не отображаются».

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

Группа: Инициализация
Категория: Обязательная
Категория AGC: Обязательно
Введенный в R2014b