Examples of errors detected by the V540 diagnostic
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"";
....
}