PVS-StudioWarnings

PVS-Studio warning V564 for FCEUX

Nov 20th, 2014
177
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.87 KB | None | 0 0
  1. static BOOL CALLBACK MemWatchCallB(
  2.   HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
  3. {
  4.   ...
  5.   EnableMenuItem(memwmenu,MEMW_FILE_SAVE,
  6.     MF_BYCOMMAND | fileChanged ? MF_ENABLED:MF_GRAYED);
  7.   ...
  8. }
  9.  
  10. This is what it turns out to be: (MF_BYCOMMAND | fileChanged) ? MF_ENABLED:MF_GRAYED, while it should actually be: MF_BYCOMMAND | (fileChanged ? MF_ENABLED:MF_GRAYED). The code works due to sheer luck, as #define MF_BYCOMMAND 0x00000000L.
  11.  
  12. This suspicious code was found in FCEUX project by PVS-Studio static code analyzer.
  13. Warning message is:
  14. V564 The '|' operator is applied to bool type value. You've probably forgotten to include parentheses or intended to use the '||' operator. fceux memwatch.cpp 711
  15.  
  16. PVS-Studio is a static analyzer for detecting bugs in the source code of applications written in C, C++, C++11, C++/CX. Site: http://www.viva64.com/en/pvs-studio/
Advertisement
Add Comment
Please, Sign In to add comment