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