Выделенная память не соответствует указателю назначения
Этот дефект возникает во время преобразования указателя, когда адрес указателя несовпадает. Если указатель преобразуется в другой тип указателя, размер выделенной памяти должен быть кратен размеру целевого указателя.
Удаление несовпадающего указателя имеет неопределенное поведение и может привести к сбою вашей программы.
Предположим, вы преобразуете указатель мыши ptr1
на ptr2
. Если ptr1
указывает на буфер N
байты и ptr2
является
указатель, где type
*sizeof
является (type
)n
bytes, убедитесь, что N
является целым числом, кратным n
.
См. примеры исправлений ниже.
Если вы не хотите устранять проблему, добавьте комментарии к своему результату или коду, чтобы избежать другой проверки. Смотрите Адрес Результаты Polyspace через исправления ошибок или обоснования.
Группа: Статическая Память |
Язык: C | C++ |
По умолчанию: Off |
Синтаксис командной строки: OBJECT_SIZE_MISMATCH |
Влияние: Высокий |
ИДЕНТИФИКАТОР CWE: 704 |