2014-09-12 7 views
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'; 

위의 코드에는 아무런 문제가없는 것으로 보입니다. 이 아이디어가 왜 받아 들여지고 어떻게 해결할 수 있는지에 대한 아이디어가 있습니까? 미리 감사드립니다.

답변

0

본인은 Cppcheck 개발자입니다.

흥미 롭습니다. 나에게 FP처럼 보인다. 그러나 Cppcheck로이 FP를 재현하지 못했습니다.

+1

Cppcheck 문제 추적기 (http://trac.cppcheck.net)에 표시되는 모든 Cppcheck-FP를보고 할 수 있습니다. FP 보고서를 수정하는 것이 우선적입니다. FP를 재현하는 최소한의 코드 예제가 보고서에 포함되어야합니다. –