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