Значение объекта с длительностью автоматического хранения не должно быть считано, прежде чем это было установлено
Сообщение в отчете:
Значение объекта с длительностью автоматического хранения не должно быть считано, прежде чем это было установлено.
Переменная с длительностью автоматического хранения является выделенной памятью в начале блока включения кода и освобожденный в конце. Все неглобальные переменные имеют эту продолжительность хранения, кроме объявленных static
или extern
.
Переменные с длительностью автоматического хранения автоматически не инициализируются и имеют неопределенные значения. Поэтому вы не должны читать такую переменную, прежде чем вы установили ее значение посредством операции записи.
Анализ Polyspace® проверяет некоторые нарушения как неинициализированные переменные. Для получения дополнительной информации смотрите Non-initialized local variable
.
Polyspace Bug Finder™ и Polyspace Code Prover™ проверяют это правило кодирования по-другому. Исследования могут привести к различным результатам. В Программе автоматического доказательства Кода можно также видеть различие в результатах на основе выбора для опции Verification level (-to)
. Смотрите проверку на кодирование стандартных нарушений.
Если вы ожидаете нарушение правила, но не видите его, обратитесь к Кодированию Стандартных Нарушений, Не Отображенных.
Группа: инициализация |
Категория: обязательный |
Категория AGC: обязательный |
Check MISRA C:2012 (-misra3)
| MISRA C:2012 Rule 15.1
| MISRA C:2012 Rule 15.3