Поделиться через


C28740

предупреждение C28740: буфер без подписи без подписи

Это предупреждение указывает, что буфер, переданный в качестве параметра функции или возвращаемый функцией, должен быть помечен языком заметок исходного кода Майкрософт (SAL). Средства статического анализа могут использовать такие заметки для обнаружения переполнения буфера.

В настоящее время с этим предупреждением диагностируются только неконстантные буферы.

Примере

В следующем примере кода создается это предупреждение.

    int foo( BYTE * buffer, size_t cch ); 

Следующий пример кода позволяет избежать этого предупреждения, используя заметку SAL _Out_writes_ , чтобы указать, что вызываемая функция выполняет запись в буфер и что буфер не может иметь значение NULL. Заметка указывает, что буфер состоит из элементов cch .

    int foo( _Out_writes_(cch) BYTE * buffer, size_t cch );