Sorry, I'm not on the list.
- ok( file != 0, "CreateFileMapping PAGE_READWRITE error %u\n", GetLastError() ); + ok( !!file, "CreateFileMapping PAGE_READWRITE error %u\n", GetLastError() );
Smatch sees those as equivelent. (The new version does at least http://repo.or.cz/w/smatch.git).
There is a wine_checker.sh script in smatch_scripts so you can quickly test individual files. I just pushed a change to make wine_checker.sh find the smatch binary so you may want to pull the most recent changes.
/path/to/smatch_scripts/wine_checker.sh dlls/kernel32/tests/virtual.c
Michael said it could be either real bug or a false positive. I sort of decided it was a false positive and pushed a change to fix that. Now if "file" gets 1) reassigned 2) incremented/decremented 3) passed to a function like this: fuction(&file); it stops being called a filehandle. (Unless it gets reassigned another file handle obviously).
Hope that is Ok.
The check only prints a warning if something is _definitely_ a file handle and it gets compared to zero. I could easily change it to print a message if something is _possibly_ a file handle and gets compared against zero. Like this: if (x) file = CreateFile(); else file = some_func(); if (file) // <- complain
I know smatch has been abandonware for a long time, but I hope to do better now.
regards, dan carpenter