Configuration

Global Settings

  1. -project_name

    1. As configured, ECLAIR will:

      1. Set the project name to `openssh-portable'.

        -project_name=getenv("ECLAIR_PROJECT_NAME")
  2. -project_root

    1. As configured, ECLAIR will:

      1. Set the project root directory to `/builds/swquality/openssh-portable/'.

        -project_root=getenv("ECLAIR_PROJECT_ROOT")
  3. -reports

    1. As configured, ECLAIR will:

      1. Hide a report matching `all_exp_external'.

        -reports={hide,all_exp_external}

Service B.BUGFIND.apiModeling.Errno: Make the special value 'errno' available to other checkers

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.apiModeling.StdCLibraryFunctions: Improve modeling of the C standard library functions

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.apiModeling.TrustNonnull: Trust that returns from framework methods annotated with _Nonnull are not null

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.apiModeling.TrustReturnsNonnull: Trust that returns from methods annotated with returns_nonnull are not null

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.apiModeling.google.GTest: Model gtest assertion APIs

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.apiModeling.llvm.CastValue: Model implementation of custom RTTIs

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.apiModeling.llvm.ReturnValue: Model the guaranteed boolean return value of function calls

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.core.BoolAssignment: Warn about assigning non-{0,1} values to Boolean variables

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.core.C11Lock: Simple lock -> unlock checker

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.core.CallAndMessage: Check for logical errors for function calls (e.g., uninitialized arguments, null function pointers)

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.core.CallAndMessageModeling: Responsible for essential modeling and assumptions after a function/method call. For instance, if we can't reason about the nullability of the implicit this parameter after a method call, this checker conservatively assumes it to be non-null

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.core.CastSize: Check when casting a malloc'ed type T, whether the size is a multiple of the size of T

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.core.CastToStruct: Check for cast from non-struct pointer to struct pointer

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.core.Conversion: Loss of sign/precision in implicit conversions

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.core.DivideZero: Check for division by zero

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.core.DynamicTypeChecker: Check for cases where the dynamic and the static type of an object are unrelated

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.core.DynamicTypePropagation: Generate dynamic type information

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.core.FixedAddr: Check for assignment of a fixed address to a pointer

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.core.IdenticalExpr: Warn about unintended use of identical expressions in operators

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.core.NonNullParamChecker: Check for null pointers passed as arguments to a function whose arguments are references or marked with the 'nonnull' attribute

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.core.NonnilStringConstants: Assume that const string-like globals are non-null

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.core.NullDereference: Check for dereferences of null pointers

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.core.PointerArithm: Check for pointer arithmetic on locations other than array elements

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.core.PointerSub: Check for pointer subtractions on two pointers pointing to different memory chunks

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.core.PthreadLockBase: Helper registering multiple checks

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.core.SizeofPtr: Warn about unintended use of sizeof() on pointer expressions

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.core.StackAddrEscapeBase: Generate information about stack address escapes

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.core.StackAddressAsyncEscape: Check that addresses to stack memory do not escape the function

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.core.StackAddressEscape: Check that addresses to stack memory do not escape the function

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.core.TestAfterDivZero: Check for division by variable that is later compared against 0. Either the comparison is useless or there is division by zero

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.core.UndefinedBinaryOperatorResult: Check for undefined results of binary operators

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.core.VLASize: Check for declarations of VLA of undefined or zero size

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.core.builtin.BuiltinFunctions: Evaluate compiler builtin functions (e.g., alloca())

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.core.builtin.NoReturnFunctions: Evaluate "panic" functions that are known to not return to the caller

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.core.uninitialized.ArraySubscript: Check for uninitialized values used as array subscripts

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.core.uninitialized.Assign: Check for assigning uninitialized values

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.core.uninitialized.Branch: Check for uninitialized values used as branch conditions

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.core.uninitialized.CapturedBlockVariable: Check for blocks that capture uninitialized values

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.core.uninitialized.NewArraySize: Check if the size of the array in a new[] expression is undefined

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.core.uninitialized.UndefReturn: Check for uninitialized values being returned to the caller

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.cplusplus.ContainerModeling: Models C++ containers

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.cplusplus.DeleteWithNonVirtualDtor: Reports destructions of polymorphic objects with a non-virtual destructor in their base class

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.cplusplus.EnumCastOutOfRange: Check integer to enumeration casts for out of range values

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.cplusplus.InnerPointer: Check for inner pointers of C++ containers used after re/deallocation

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.cplusplus.InvalidatedIterator: Check for use of invalidated iterators

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.cplusplus.IteratorModeling: Models iterators of C++ containers

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.cplusplus.IteratorRange: Check for iterators used outside their valid ranges

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.cplusplus.MismatchedIterator: Check for use of iterators of different containers where iterators of the same container are expected

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.cplusplus.Move: Find use-after-move bugs in C++

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.cplusplus.NewDelete: Check for double-free and use-after-free problems. Traces memory managed by new/delete

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.cplusplus.NewDeleteLeaks: Check for memory leaks. Traces memory managed by new/delete

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.cplusplus.PlacementNew: Check if default placement new is provided with pointers to sufficient storage capacity

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.cplusplus.PureVirtualCall: Check pure virtual function calls during construction/destruction

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.cplusplus.STLAlgorithmModeling: Models the algorithm library of the C++ STL

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.cplusplus.SelfAssignment: Checks C++ copy and move assignment operators for self assignment

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.cplusplus.SmartPtr: Find the dereference of null SmrtPtr

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.cplusplus.SmartPtrModeling: Model behavior of C++ smart pointers

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.cplusplus.StringChecker: Checks C++ std::string bugs

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.cplusplus.UninitializedObject: Reports uninitialized fields after object construction

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.cplusplus.VirtualCall: Check virtual function calls during construction/destruction

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.cplusplus.VirtualCallModeling: Auxiliary modeling for the virtual method call checkers

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.deadcode.DeadStores: Check for values stored to variables that are never read afterwards

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.deadcode.UnreachableCode: Check unreachable code

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.nondeterminism.PointerIteration: Checks for non-determinism caused by iteration of unordered containers of pointers

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.nondeterminism.PointerSorting: Check for non-determinism caused by sorting of pointers

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.nullability.NullPassedToNonnull: Warns when a null pointer is passed to a pointer which has a _Nonnull type

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.nullability.NullReturnedFromNonnull: Warns when a null pointer is returned from a function that has _Nonnull return type

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.nullability.NullabilityBase: Stores information during the analysis about nullability

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.nullability.NullableDereferenced: Warns when a nullable pointer is dereferenced

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.nullability.NullablePassedToNonnull: Warns when a nullable pointer is passed to a pointer which has a _Nonnull type

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.nullability.NullableReturnedFromNonnull: Warns when a nullable pointer is returned from a function that has _Nonnull return type

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.performance.GCDAntipattern: Check for performance anti-patterns when using Grand Central Dispatch

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.performance.Padding: Check for excessively padded structs

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.portability.UnixAPI: Finds implementation-defined behavior in UNIX/Posix functions

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.security.ArrayBound: Warn about buffer overflows

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.security.ArrayBoundV2: Warn about buffer overflows

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.security.FloatLoopCounter: Warn on using a floating point value as a loop counter (CERT: FLP30-C, FLP30-CPP)

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.security.MallocOverflow: Check for overflows in the arguments to malloc()

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.security.MmapWriteExec: Warn on mmap() calls that are both writable and executable

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.security.ReturnPtrRange: Check for an out-of-bound pointer being returned to callers

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.security.cert.env.InvalidPtr: Finds usages of possibly invalidated pointers

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.security.cert.pos.34c: Finds calls to the 'putenv' function which pass a pointer to an automatic variable as the argument

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.security.insecureAPI.DeprecatedOrUnsafeBufferHandling: Warn on uses of unsecure or deprecated buffer manipulating functions

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.security.insecureAPI.SecuritySyntaxChecker: Base of various security function related checkers

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.security.insecureAPI.UncheckedReturn: Warn on uses of functions whose return values must be always checked

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.security.insecureAPI.bcmp: Warn on uses of the 'bcmp' function

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.security.insecureAPI.bcopy: Warn on uses of the 'bcopy' function

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.security.insecureAPI.bzero: Warn on uses of the 'bzero' function

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.security.insecureAPI.getpw: Warn on uses of the 'getpw' function

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.security.insecureAPI.gets: Warn on uses of the 'gets' function

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.security.insecureAPI.mkstemp: Warn when 'mkstemp' is passed fewer than 6 X's in the format string

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.security.insecureAPI.mktemp: Warn on uses of the 'mktemp' function

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.security.insecureAPI.rand: Warn on uses of the 'rand', 'random', and related functions

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.security.insecureAPI.strcpy: Warn on uses of the 'strcpy' and 'strcat' functions

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.security.insecureAPI.vfork: Warn on uses of the 'vfork' function

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.security.taint.TaintPropagation: Generate taint information used by other checkers

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.unix.API: Check calls to various UNIX/Posix functions

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.unix.BlockInCriticalSection: Check for calls to blocking functions inside a critical section

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.unix.Chroot: Check improper use of chroot

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.unix.DynamicMemoryModeling: The base of several malloc() related checkers. On its own it emits no reports, but adds valuable information to the analysis when enabled

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.unix.Errno: Check for improper use of 'errno'

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.unix.Malloc: Check for memory leaks, double free, and use-after-free problems. Traces memory managed by malloc()/free()

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.unix.MallocSizeof: Check for dubious malloc arguments involving sizeof

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.unix.MismatchedDeallocator: Check for mismatched deallocators

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.unix.PthreadLock: Simple lock -> unlock checker

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.unix.SimpleStream: Check for misuses of stream APIs

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.unix.StdCLibraryFunctionArgs: Check constraints of arguments of C standard library functions, such as whether the parameter of isalpha is in the range [0, 255] or is EOF

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.unix.Stream: Check stream handling functions

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.unix.Vfork: Check for proper usage of vfork

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.unix.cstring.BadSizeArg: Check the size argument passed into C string functions for common erroneous patterns

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.unix.cstring.BufferOverlap: Checks for overlap in two buffer arguments

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.unix.cstring.CStringModeling: The base of several CString related checkers. On its own it emits no reports, but adds valuable information to the analysis when enabled

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.unix.cstring.NotNullTerminated: Check for arguments which are not null-terminating strings

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.unix.cstring.NullArg: Check for null pointers being passed as arguments to C string functions

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.unix.cstring.OutOfBounds: Check for out-of-bounds access in string functions

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.unix.cstring.UninitializedRead: Checks if the string manipulation function would read uninitialized bytes

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.valist.CopyToSelf: Check for va_lists which are copied onto itself

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.valist.Uninitialized: Check for usages of uninitialized (or already released) va_lists

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.valist.Unterminated: Check for va_lists which are not released by a va_end call

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.BUGFIND.valist.ValistBase: Gathers information about va_lists

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.BUGFIND

Service B.EXPLAIN: Explain user configuration

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.EXPLAIN

Service B.MACREXPR: A macro invocation that expands to a sequence of tokens starting and ending on expression edges must be parenthesized or immediately enclosed in parentheses

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.MACREXPR

Service B.REPORT.ECB: Output reports in ECB format

  1. macros

    1. As configured, ECLAIR will:

      1. Show up to 10 levels of macro expansions in report areas.

        -config=B.REPORT.ECB,macros=10
  2. output

    1. As configured, ECLAIR will:

      1. Write the reports output to file `/builds/swquality/openssh-portable/ECLAIR/.data/FRAME.@FRAME@.ecb'.

        -config=B.REPORT.ECB,output=join_paths(data_dir,"FRAME.@FRAME@.ecb")
  3. preprocessed

    1. As configured, ECLAIR will:

      1. Show the preprocessed source for report areas with macro expansions.

        -config=B.REPORT.ECB,preprocessed=show
  4. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.REPORT.ECB

Service B.TROJANSOURCE: Source code shall not contain underhanded UTF-8 characters

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=B.TROJANSOURCE

Service MC3R1.D4.5: Identifiers in the same name space with overlapping visibility should be typographically unambiguous

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=MC3R1.D4.5

Service MC3R1.D4.10: Precautions shall be taken in order to prevent the contents of a header file being included more than once

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=MC3R1.D4.10

Service MC3R1.D4.11: The validity of values passed to library functions shall be checked

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=MC3R1.D4.11

Service MC3R1.D4.13: Functions which are designed to provide operations on a resource should be called in an appropriate sequence

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=MC3R1.D4.13

Service MC3R1.R1.1: The program shall contain no violations of the standard C syntax and constraints, and shall not exceed the implementation's translation limits

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=MC3R1.R1.1

Service MC3R1.R1.3: There shall be no occurrence of undefined or critical unspecified behaviour

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=MC3R1.R1.3

Service MC3R1.R5.1: External identifiers shall be distinct

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=MC3R1.R5.1

Service MC3R1.R5.2: Identifiers declared in the same scope and name space shall be distinct

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=MC3R1.R5.2

Service MC3R1.R5.4: Macro identifiers shall be distinct

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=MC3R1.R5.4

Service MC3R1.R6.1: Bit-fields shall only be declared with an appropriate type

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=MC3R1.R6.1

Service MC3R1.R8.5: An external object or function shall be declared once in one and only one file

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=MC3R1.R8.5

Service MC3R1.R8.6: An identifier with external linkage shall have exactly one external definition

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=MC3R1.R8.6

Service MC3R1.R8.10: An inline function shall be declared with the `static' storage class

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=MC3R1.R8.10

Service MC3R1.R9.1: The value of an object with automatic storage duration shall not be read before it has been set

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=MC3R1.R9.1

Service MC3R1.R9.4: An element of an object shall not be initialized more than once

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=MC3R1.R9.4

Service MC3R1.R13.1: Initializer lists shall not contain persistent side effects

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=MC3R1.R13.1

Service MC3R1.R13.2: The value of an expression and its persistent side effects shall be the same under all permitted evaluation orders

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=MC3R1.R13.2

Service MC3R1.R16.7: A switch-expression shall not have essentially Boolean type

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=MC3R1.R16.7

Service MC3R1.R17.4: All exit paths from a function with non-void return type shall have an explicit `return' statement with an expression

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=MC3R1.R17.4

Service MC3R1.R17.5: The function argument corresponding to a parameter declared to have an array type shall have an appropriate number of elements

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=MC3R1.R17.5

Service MC3R1.R18.1: A pointer resulting from arithmetic on a pointer operand shall address an element of the same array as that pointer operand

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=MC3R1.R18.1

Service MC3R1.R18.2: Subtraction between pointers shall only be applied to pointers that address elements of the same array

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=MC3R1.R18.2

Service MC3R1.R18.3: The relational operators `>', `>=', `<' and `<=' shall not be applied to objects of pointer type except where they point into the same object

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=MC3R1.R18.3

Service MC3R1.R18.6: The address of an object with automatic storage shall not be copied to another object that persists after the first object has ceased to exist

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=MC3R1.R18.6

Service MC3R1.R19.1: An object shall not be assigned or copied to an overlapping object

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=MC3R1.R19.1

Service MC3R1.R20.2: The `'', `"' or `\' characters and the `/*' or `//' character sequences shall not occur in a header file name

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=MC3R1.R20.2

Service MC3R1.R20.3: The `#include' directive shall be followed by either a `<filename>' or `"filename"' sequence

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=MC3R1.R20.3

Service MC3R1.R20.4: A macro shall not be defined with the same name as a keyword

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=MC3R1.R20.4

Service MC3R1.R20.6: Tokens that look like a preprocessing directive shall not occur within a macro argument

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=MC3R1.R20.6

Service MC3R1.R20.11: A macro parameter immediately following a `#' operator shall not immediately be followed by a `##' operator

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=MC3R1.R20.11

Service MC3R1.R20.13: A line whose first token is `#' shall be a valid preprocessing directive

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=MC3R1.R20.13

Service MC3R1.R20.14: All `#else', `#elif' and `#endif' preprocessor directives shall reside in the same file as the `#if', `#ifdef' or `#ifndef' directive to which they are related

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=MC3R1.R20.14

Service MC3R1.R21.1: `#define' and `#undef' shall not be used on a reserved identifier or reserved macro name

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=MC3R1.R21.1

Service MC3R1.R21.2: A reserved identifier or reserved macro name shall not be declared

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=MC3R1.R21.2

Service MC3R1.R21.13: Any value passed to a function in `<ctype.h>' shall be representable as an `unsigned char' or be the value EOF

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=MC3R1.R21.13

Service MC3R1.R21.14: The Standard Library function `memcmp' shall not be used to compare null terminated strings

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=MC3R1.R21.14

Service MC3R1.R21.17: Use of the string handling functions from `<string.h>' shall not result in accesses beyond the bounds of the objects referenced by their pointer parameters

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=MC3R1.R21.17

Service MC3R1.R21.18: The `size_t' argument passed to any function in `<string.h>' shall have an appropriate value

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=MC3R1.R21.18

Service MC3R1.R21.19: The pointers returned by the Standard Library functions `localeconv', `getenv', `setlocale' or, `strerror' shall only be used as if they have pointer to const-qualified type

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=MC3R1.R21.19

Service MC3R1.R21.20: The pointer returned by the Standard Library functions `asctime', `ctime', `gmtime', `localtime', `localeconv', `getenv', `setlocale' or `strerror' shall not be used following a subsequent call to the same function

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=MC3R1.R21.20

Service MC3R1.R22.2: A block of memory shall only be freed if it was allocated by means of a Standard Library function

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=MC3R1.R22.2

Service MC3R1.R22.4: There shall be no attempt to write to a stream which has been opened as read-only

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=MC3R1.R22.4

Service MC3R1.R22.6: The value of a pointer to a `FILE' shall not be used after the associated stream has been closed

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=MC3R1.R22.6

Service MC3R1.R22.8: The value of `errno' shall be set to zero prior to a call to an errno-setting-function

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=MC3R1.R22.8

Service MC3R1.R22.10: The value of `errno' shall only be tested when the last function to be called was an errno-setting-function

  1. tag

    1. As configured, ECLAIR will:

      1. Enable the service.

        -enable=MC3R1.R22.10