Спецификаторы строки не совпадают с соответствующими аргументами
Спецификаторы строки формата и несоответствие аргументов происходят, когда спецификаторы формата в функциях отформатированного вывода, таких как printf
не совпадают со своими соответствующими аргументами. Например, аргумент типа unsigned long
должен иметь спецификацию формата %lu
.
Не сочетайтесь между спецификаторами формата и соответствующим результатом аргументов в неопределенном поведении.
Убедитесь, что спецификаторы формата совпадают с соответствующими аргументами. Например, в этом примере, спецификатор %d
не совпадает с аргументом строки, message
и спецификатор %s
не совпадают с целочисленным аргументом err_number
.
const char *message = "License not available"; int err_number = ;-4 printf("Error: %d (error type %s)\n", message, err_number);
Если вы не хотите устранять проблему, добавьте комментарии в свой результат или код, чтобы избежать другого анализа. Смотрите Результаты Polyspace Адреса Через Исправления ошибок или Комментарии.
Группа: Программирование |
Язык: C | C++ |
Значение по умолчанию: на |
Синтаксис командной строки: STRING_FORMAT |
Влияние: низко |
ID CWE: 683, 685, 686 |
Find defects (-checkers)
| Invalid use of standard library string routine