Описание тега pvs-studio
PVS-Studio - это инструмент для выявления ошибок и уязвимостей в исходном коде программ, написанных на языках C, C++, C# и Java. Работает в среде Windows, Linux и macOS.
1
ответ
V3137 Ложный Позитив
PVS Studio выбрасывает V3137: переменная 'funclist' назначена, но не используется до конца функции. Program.cs 13 using System; using System.Collections.Generic; using System.Threading.Tasks; namespace V3137_False_Positive { class Program { static v…
13 авг '18 в 17:51
1
ответ
Исключение при анализе кода
При анализе кода с использованием PVS-Studio 6.18.23098 я получил следующую трассировку стека в окне PVS-Studio: Exception message: 0 Sequence contains no elements 0 Stack: at System.Linq.Enumerable.First[TSource](IEnumerable`1 source) 0 at ProgramV…
02 окт '17 в 10:02
1
ответ
Интегрировать PVS-Studio в файл MSBuild
У меня есть много проектов, для которых я создал общий файл MSBuild для запуска. Я пытаюсь интегрировать статический анализ PVS Studio в сборку без повторной сборки. Я следовал за небольшой документацией на сайте PVS, но я должен что-то упустить. Я …
24 июл '14 в 15:40
2
ответа
Пометить переменную как не NULL после BOOST_REQUIRE в PVS-Studio
Я использую PVS-Studio для анализа моего тест-кода. Есть часто конструкции вида const noAnimal* animal = dynamic_cast<noAnimal*>(...); BOOST_REQUIRE(animal); BOOST_REQUIRE_EQUAL(animal->GetSpecies(), ...); Однако я все еще получаю предупреж…
14 ноя '17 в 10:28
1
ответ
Какой самый простой способ проверить только один *.c файл из ядра Linux с помощью pvs-studio?
Какой самый простой способ проверить только один *.c файл из ядра Linux с помощью pvs-studio?Ядро - это огромный проект, возможно, есть способ избежать компиляции всех файлов.
20 апр '17 в 15:42
1
ответ
PVS-Studio для Linux - pvs_studio_add_target
Я пытаюсь использовать команду pvs_studio_add_target для интеграции PVS-Studio в мой проект CMake. Кто-нибудь может указать мне пример файла CMakeLists.txt, который делает это? Когда я строю свой проект, я вижу следующий результат (кроме обычных вещ…
28 дек '17 в 06:41
1
ответ
Ошибка при запуске, когда не установлен C++
Я вижу эту ошибку в журнале активности при запуске VS 15.3.1. Кажется, это связано со студией PVS, так как она исчезает, когда я отключаю расширение. Я использую только C#, поэтому у меня не установлены модули C++. После нажатия OK на сообщение я не…
22 авг '17 в 05:13
1
ответ
Ложное положительное предупреждение PVS Studio: объект типа V808 был создан, но не использовался
PVS Studio 6.17 (Windows 7, 64Bit, VS2015), похоже, выдает неправильное предупреждение в приведенном ниже коде. Предупреждение "V808 'статусы' объект типа 'unordered_map' создан, но не использовался". Исходный код с unordered_map, инициализированный…
21 сен '17 в 14:00
1
ответ
Знает ли PVS-Studio о необходимости предварительного объявления?
Существует проблема, когда разные компиляторы ведут себя по-разному. Жаль, PVS не говорит мне о следующей опасной ситуации. У меня есть некоторые перегруженные функции, но я забыл написать предварительную декларацию. Таким образом, Visual Studio ком…
09 мар '18 в 13:10
4
ответа
Выражение "i < 0" всегда ложно
Для следующего фрагмента: size_t i = 0; std::wstring s; s = (i < 0) ? L"ABC" : L"DEF"; s = (i != -1) ? L"ABC" : L"DEF"; Анализ журналов анализа PVS-Studio для первого условия i < 0, как и ожидалось: V547 Expression 'i < 0' is always false. …
31 июл '17 в 08:17
1
ответ
V3125 Ложный Позитив
PVS Studio выдает V3125: объект 'control.Parent' использовался после того, как он был проверен на нулевое значение. Проверьте строки: 11, 9. using System.Windows.Forms; namespace V3125_False_Positive { static class Program { static void Main() { if …
09 авг '18 в 21:33
2
ответа
Почему некоторые инструменты статического анализа не сообщают о потенциальных переполнениях буфера?
У меня есть пример команды strcpy, которая может быть переполнена буфером, но PVS-Studio не выдает предупреждение. В моем примере strcpy используется для копирования аргумента командной строки в буфер без проверки размера аргумента командной строки.…
11 фев '13 в 17:05
1
ответ
PVS Studio не работает с MSVS, не установленным по умолчанию
Из-за ограничений размера диска я установил MSVS 2017 в D:\Program Files\Visual Studio, Затем я установил PVS-Studio v6.14. Когда я пытался запустить его, я получаю следующие сообщения об ошибках: Error was encountered while opening project 'MIDI2LR…
18 мар '17 в 23:40
1
ответ
PVS-Studio не может проанализировать https://github.com/viva64/pvs-studio-cmake-examples/tree/master/example-1
Я разобрал пример-1 и сгенерировал для него проект CMake, используя: cmake -G "Unix Makefiles" -DCMAKE_EXPORT_COMPILE_COMMANDS=On -DCMAKE_BUILD_TYPE=Debug <source-dir> Когда я построил проект, я увидел следующий результат: [ 40%] Built target …
31 июл '18 в 02:18
1
ответ
PVS-Studio: предупреждение V595 генерируется, даже если указатель проверен
В следующем коде уже есть проверка nullptr в 1): int msg; struct x * var[2]; if ((var[0] = get_x()) == nullptr) { // (1) return; } if (var[0]->data != 11) { // (2) <<< V595 msg = 1; printf("msg1"); } if (var[0] && var[0]->data…
27 апр '17 в 16:24
1
ответ
RangeAnalysis и V3022
Рассмотрим код ниже: for (var i = int.MaxValue - 2; i < int.MaxValue; i++) { Console.WriteLine(i); } Console.WriteLine(); for (var i = int.MaxValue - 2; i <= int.MaxValue - 1; i++) { Console.WriteLine(i); } Console.WriteLine(); for (var i = in…
10 июл '17 в 08:53
1
ответ
Ложное положительное предупреждение PVS Studio: V821 Снижение производительности. Переменная 'rhs' может быть создана в области более низкого уровня
PVS Studio 6.17 (Windows 7, 64Bit, VS2017, C++-03), похоже, выдает неправильное предупреждение о следующем сокращенном коде #include <stack> #include <string> #include <vector> bool fred(const std::string &x) { return x == "ab"…
05 сен '17 в 12:50
1
ответ
Как запустить PVS Studio из командной строки из Windows 7?
Я новичок в PVS Studio. Я установил его в автономном режиме (без Visual Studio). Я хотел бы запустить PVS Studio из командной строки (из терминала Cygwin64) из 64-разрядной версии Windows 7 Professional. Я хочу статически проанализировать только оди…
28 авг '18 в 11:02
1
ответ
PVS-Studio жалуется на сравнение с плавающей точкой
Я отсканировал свой код с помощью анализатора PVS Studio, и я не понимаю, почему эта ошибка и как ее исправить. V550 Странное точное сравнение: * dest == value. Вероятно, лучше использовать сравнение с определенной точностью: fabs(A - B) bool Pipeli…
09 июл '17 в 18:05
1
ответ
PVS-Studio: V641 - ложное срабатывание для структур WIN API
Последний участник WCHAR Name[1] Предполагается, что это строка. Это хорошо известная техника. // c:\Program Files (x86)\Windows Kits\8.0\Include\um\DbgHelp.h typedef struct _SYMBOL_INFOW { ULONG SizeOfStruct; ULONG TypeIndex; // Type Index of symbo…
27 апр '17 в 19:00