Примеры ошибок, обнаруженных с помощью диагностики V540


V540. Member 'x' should point to string terminated by two 0 characters.


Fennec Media

V540 Member 'lpstrFilter' should point to string terminated by two 0 characters. base windows.c 5309


int JoiningProc(HWND hwnd,UINT uMsg,
  WPARAM wParam,LPARAM lParam)
{
  ....
  OPENFILENAME  lofn;
  memset(&lofn, 0, sizeof(lofn));
  ....
  lofn.lpstrFilter = uni("All Files (*.*)\0*.*");
  ....
}

Similar errors can be found in some other places:

  • V540 Member 'lpstrFilter' should point to string terminated by two 0 characters. base windows.c 986
  • V540 Member 'lpstrFilter' should point to string terminated by two 0 characters. base windows.c 1039
  • V540 Member 'lpstrFilter' should point to string terminated by two 0 characters. shared functions.c 360

Chromium

V540 Member 'lpstrFilter' should point to string terminated by two 0 characters. test_shell_common test_shell_win.cc 643


bool TestShell::PromptForSaveFile(const wchar_t* prompt_title,
                                  FilePath* result) {
  ....
  OPENFILENAME info = {0};
  ....
  info.lpstrFilter = L"*.txt";
  ....
}

WinSCP

V540 Member 'pTo' should point to string terminated by two 0 characters. common.cpp 1659


bool __fastcall RecursiveDeleteFile(....)
{
  SHFILEOPSTRUCT Data;
  memset(&Data, 0, sizeof(Data));
  ....
  Data.pTo = L"";
  ....
}


Найденные ошибки

Проверено проектов
346
Собрано ошибок
13 188

А ты совершаешь ошибки в коде?

Проверь с помощью
PVS-Studio

Статический анализ
кода для C, C++, C#
и Java

goto PVS-Studio;