Original smatch scripts
This are the scripts that come with smatch and are not Linux kernel specific.
- & instead of && in
"if (foo && bar)"
- Finds dead code like code after a
return. Not as effectiv like
- = instead of == in
"if (foo == bar)"
- Finds unreachable code like code after return, break, etc.
General purpose scripts by the Wine Smatch Project
- Checks for suspicious "while" and "for" loops (possible infinite loops).
Wine specific Smatch scripts
- Checks for calls from Unicode to Ascii functions.
- Checks for comparisons of file handles with NULL instead of INVALID_HANDLE_VALUE.
- Checks for redundant NULL pointer checks before releasing the
pointer (HeapFree, RtlFreeHeap).
- Adaptation of smatch's unfree.pl: checks for unfreed memory.
- Checks for correct release of a lot of simple wine locks.
More scripts to come.