Я разработчик Cppcheck.
Да, это странный сбой.«Огромные данные» означают миллионы цифр.
Если вы используете флаг --verbose, тогда cppcheck напишет небольшой пример кода, который обычно вылетает на компьютерах Linux.
ВотПример кода, который дает сбой из-за ошибки сегментации на моем компьютере с Ubuntu 11.10:
#include <stdio.h>
#define HUGE_SIZE 100000000
int main()
{
int i;
char *data = new char[HUGE_SIZE];
for (int i = 0; i < HUGE_SIZE; ++i)
data[i] = '1';
data[HUGE_SIZE-1] = 0;
sscanf(data, "%i", &i);
delete [] data;
return 0;
}
Для вашей информации, я не получаю сбой при попытке попробовать этот пример кода в Visual Studio.
Iиспользовал g ++ версии 4.6.1 для компиляции.