Cppcheck обнаружил потенциальную проблему в таком коде:
float a, b, c;
int count = sscanf(data, "%f,%f,%f", &a, &b, &c);
Он говорит, что:« scanf без ограничений ширины поля может аварийно завершить работу с огромными данными ». Как это возможно? Это известная ошибка в некоторых реализациях sscanf? Я понимаю, что числа могут переполняться (численно), но как могло произойти сбой программы? Это ложное срабатывание в cppcheck?
Я нашел аналогичный вопрос : scanf Предупреждение Cppcheck , но ответ не совсем удовлетворительный. В ответе упоминается безопасность типов, но здесь это не должно быть проблемой.