Splint - Secure Programming Lint
|Download - Documentation - Manual - Links||Sponsors - Credits|
LCLint Release 2.5q26 July 2000
Release 2.5q is a minor upgrade to the last public release, Version 2.5m.
EnhancementsBoolean CheckingFixed boolean type checking to treat user boolean types consistently. Added the -zerobool mode flag to control whether or not 0 may be treated as a boolean (the default in standard mode is to allow 0 to represent boolean FALSE, as was the old behavior).
Bug FixesSpecial Clauses at function exitLCLint reports an internal error for violations of pre-clauses at function exits. The pre special clauses should not be checked at function exit points. (Reported by Bernd Warken).Passing incompatible long/int pointersIf +relaxquals is set (as in standard mode), LCLint does not report an error when an int * is passed as a long int *, even though this is dangerous. (Reported by Peter van Hoof).Mysterious Parse ErrorsThe parser appeared broken under certain compilers with optimizations turned on and versions of bison. This had to do with stray use of an old sgrammar.h and sgrammar_tokens.h files.Include FilesSearch path for include files in nested directories does not handle current directory correctly. (Reported by Simon Dyke)Unnamed Array ParametersLCLint handles int in a parameter list differently from int p (revealed through spurious incomplete type errors). (Reported by Peter van Hoof.)Parsing malformed commentsLCLint crashes on malformed syntactic comments like /*@-PRIVATE-CALLS-@*/. (Reported by Wolfgang Stolzenburg.)Printing long longLCLint does not support %lld format codes in printf for long long. (Reported by Denis Baylor.)Spurious stack-allocation errorsLCLint incorrectly assumes elements of stack-allocated arrays are stack-allocated. (Reported by Denis Baylor.)Result CodesLCLint does not return EXIT_FAILURE as it should when the error counts do not match. (Reported by Herbert Dietze.)Hex Constants with ULLCLint reports an error for hex constants ending with U and L modifiers. (Reported by David Denholm.)Dumping special ctypesInternal error in cttable.i when creating a library file requires a comparison between two special ctypes (e.g., "..." in function types). (Reported by Martin Smoot.)