0
Инструмент анализа статического кода cppcheck сообщил о серьезной ошибке в коде ниже: Я не знаю, в чем проблема.«Буфер доступен за пределами границ» сообщается cppcheck
#define NUM_UPDATE_COUNT 3
#define MAX_NUM_CH_1LINE 27
wchar_t m_cCnt_Buf[NUM_UPDATE_COUNT][MAX_NUM_CH_1LINE];
Init_PushPt();
memset((char *)&m_cCnt_Buf[1], 0x20, sizeof(m_cCnt_Buf[1])); /* Buffer is accessed out of bounds: m_cCnt_Buf */
memset((char *)&m_cCnt_Buf[2], 0x20, sizeof(m_cCnt_Buf[2])); /* Buffer is accessed out of bounds: m_cCnt_Buf */
m_cCnt_Buf[1][2] = '0';
m_cCnt_Buf[2][8] = '0';
В коде выше не было ничего плохого. Любые идеи, почему они берутся и как это исправить? Заранее спасибо.
Вы можете сообщить любой Cppcheck-FP, который вы видите в трекере проблемы с Cppcheck (http://trac.cppcheck.net), при этом исправление отчетов FP имеет высокий приоритет. Минимальный пример кода, который воспроизводит FP, должен быть включен в отчет. –