Wireshark mailing list archives
Re: Static analysis added to the buildbot
From: Guy Harris <guy () alum mit edu>
Date: Thu, 17 Feb 2011 00:07:04 -0800
On Feb 15, 2011, at 5:33 PM, Gerald Combs wrote:
The trunk buildbot now has two additional buildslaves: one that runs the C/C++ code analyzer in Visual Studio 10 Premium and one that runs the Clang Static Analyzer. They are scheduled to run once a day at 9:00 PM PST (5:00 AM UTC) for the time being.
The following change:
http://anonsvn.wireshark.org/viewvc/viewvc.cgi?view=rev&revision=35973 User: guy Date: 2011/02/16 08:35 PM Log: Use "XXX != NULL" rather than "XXX" to test for a null pointer; either I'm missing something or the MSVC++ code analyzer doesn't realize that in if (XXX) dereference XXX will not dereference XXX if it's null - maybe "if (XXX != NULL)" will do the trick (if so, the code analyzer is buggy, because "if (XXX != NULL)", "if (XXX != 0)", and "if (XXX)" mean the exact same thing if XXX is a pointer-valued expression, really, truly, even if a null pointer isn't represented as all zero bits or if it's wider than an int). Clean up indentation. Directory: /trunk/ Changes Path Action +31 -32 capture_ui_utils.c Modified
which, other than the indentation change, was: Index: capture_ui_utils.c =================================================================== 230d229 < 241c240 < if (if_info && if_info->description != NULL) { ---
if (if_info != NULL && if_info->description != NULL) {
caused the output of the VC++ 10 code analyzer to go from ... c:\buildbot\wireshark\trunk-vs-eca\vscodeanalysis\build\capture_ui_utils.c(241) : warning C6011: Dereferencing NULL pointer 'if_info': Lines: 226, 227, 228, 232, 233, 240, 241 c:\buildbot\wireshark\trunk-vs-eca\vscodeanalysis\build\capture_ui_utils.c(367) : warning C6328: 'const char' passed as parameter '1' when 'unsigned char' is required in call to 'isdigit' ... to ... c:\buildbot\wireshark\trunk-vs-eca\vscodeanalysis\build\capture_ui_utils.c(366) : warning C6328: 'const char' passed as parameter '1' when 'unsigned char' is required in call to 'isdigit' ... the fact that "if (if_info && if_info->description != NULL)" and "if (if_info != NULL && if_info->description != NULL)" mean exactly the same thing according to ANSI X3.159-1989, "Programming Language - C." (Language lawyery available upon request - it's been a while since I last did that, so I can't do it from memory any more. :-)) I'll try a few more fixes of that sort and, if they squelch the bogus complaints, I'll add an item about it to README.developer. ___________________________________________________________________________ Sent via: Wireshark-dev mailing list <wireshark-dev () wireshark org> Archives: http://www.wireshark.org/lists/wireshark-dev Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev mailto:wireshark-dev-request () wireshark org?subject=unsubscribe
Current thread:
- Static analysis added to the buildbot Gerald Combs (Feb 15)
- Re: Static analysis added to the buildbot Stephen Fisher (Feb 16)
- Re: Static analysis added to the buildbot Gerald Combs (Feb 16)
- Re: Static analysis added to the buildbot Guy Harris (Feb 16)
- Re: Static analysis added to the buildbot Guy Harris (Feb 16)
- Re: Static analysis added to the buildbot Bill Meier (Feb 16)
- Re: Static analysis added to the buildbot Gerald Combs (Feb 17)
- Re: Static analysis added to the buildbot Bill Meier (Feb 17)
- Re: Static analysis added to the buildbot Gerald Combs (Feb 18)
- Re: Static analysis added to the buildbot Guy Harris (Feb 16)
- Re: Static analysis added to the buildbot Guy Harris (Feb 17)
- Re: Static analysis added to the buildbot Stephen Fisher (Feb 16)