Я не могу понять это. У меня есть следующий код:
#define SIZE 1000
#define MEMORY 0x10000000
unsigned char table[SIZE];
int i;
for(i=0;i<SIZE;i++) {
table[i] = *(unsigned char*)(MEMORY +i);
}
И Klockwork говорит мне
Переполнение буфера, индекс массива 'table' может выходить за пределы. Массив 'table' размера 1000 (скорректированный размер 250) может использовать значение (я) индекса 250..999.
Есть ли здесь реальная проблема? Это кажется совершенно очевидным ложным положительным результатом, если его нет.