Title: SonarQube C/C++ Plugin  
Author: Robert Seacord (Manager) Aug 15, 2014
Last Changed by: David Svoboda Sep 27, 2023
Tiny Link: (useful for email) https://wiki.sei.cmu.edu/confluence/x/TdUxBQ
Export As: Word · PDF  
Incoming Links
SEI CERT C Coding Standard (45)
    Page: DCL16-C. Use "L," not "l," to indicate a long value
    Page: DCL18-C. Do not begin integer constants with 0 when specifying a decimal value
    Page: INT12-C. Do not make assumptions about the type of a plain int bit-field when used in an expression
    Page: EXP30-C. Do not depend on the order of evaluation for side effects
    Page: INT33-C. Ensure that division and remainder operations do not result in divide-by-zero errors
    Page: MSC12-C. Detect and remove code that has no effect or is never executed
    Page: FLP30-C. Do not use floating-point variables as loop counters
    Page: PRE00-C. Prefer inline or static functions to function-like macros
    Page: DCL04-C. Do not declare more than one variable per declaration
    Page: EXP43-C. Avoid undefined behavior when using restrict-qualified pointers
    Page: MSC13-C. Detect and remove unused values
    Page: STR04-C. Use plain char for characters in the basic character set
    Page: INT07-C. Use only explicitly signed or unsigned char type for numeric values
    Page: PRE07-C. Avoid using repeated question marks
    Page: MSC37-C. Ensure that control never reaches the end of a non-void function
    Page: INT13-C. Use bitwise operators only on unsigned operands
    Page: MSC09-C. Character encoding: Use subset of ASCII for safety
    Page: DCL07-C. Include the appropriate type information in function declarators
    Page: EXP19-C. Use braces for the body of an if, for, or while statement
    Page: ENV33-C. Do not call system()
    Page: MSC07-C. Detect and remove dead code
    Page: INT36-C. Converting a pointer to integer or integer to pointer
    Page: ARR02-C. Explicitly specify array bounds, even if implicitly defined by an initializer
    Page: MEM31-C. Free dynamically allocated memory when no longer needed
    Page: EXP00-C. Use parentheses for precedence of operation
    Page: MSC00-C. Compile cleanly at high warning levels
    Page: STR00-C. Represent characters using an appropriate type
    Page: DCL31-C. Declare identifiers before using them
    Page: DCL23-C. Guarantee that mutually visible identifiers are unique
    Page: MSC01-C. Strive for logical completeness
    Page: EXP34-C. Do not dereference null pointers
    Page: ERR34-C. Detect errors when converting a string to a number
    Page: EXP37-C. Call functions with the correct number and type of arguments
    Page: STR07-C. Use the bounds-checking interfaces for string manipulation
    Page: STR10-C. Do not concatenate different type of string literals
    Page: EXP02-C. Be aware of the short-circuit behavior of the logical AND and OR operators
    Page: FIO46-C. Do not access a closed file
    Page: MSC20-C. Do not use a switch statement to transfer control into a complex block
    Page: EXP15-C. Do not place a semicolon on the same line as an if, for, or while statement
    Page: DCL20-C. Explicitly specify void when a function accepts no arguments
    Page: DCL37-C. Do not declare or define a reserved identifier
    Page: MSC17-C. Finish every set of statements associated with a case label with a break statement
    Page: FIO42-C. Close files when they are no longer needed
    Page: EXP45-C. Do not perform assignments in selection statements
    Page: MSC22-C. Use the setjmp(), longjmp() facility securely
Hierarchy
Parent Page
    Page: EE. Analyzers
Labels
Global Labels (1)
Outgoing Links
External Links (98)
    https://www.sonarsource.com/products/codeanalyzers/sonarcfa…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://www.sonarsource.com/products/codeanalyzers/sonarcfa…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://www.sonarsource.com/products/codeanalyzers/sonarcfa…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://www.sonarsource.com/products/codeanalyzers/sonarcfa…
    https://www.sonarsource.com/products/codeanalyzers/sonarcfa…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://www.sonarsource.com/products/codeanalyzers/sonarcfa…
    https://www.sonarsource.com/products/codeanalyzers/sonarcfa…
    https://www.sonarsource.com/products/codeanalyzers/sonarcfa…
    https://www.sonarsource.com/products/codeanalyzers/sonarcfa…
    https://www.sonarsource.com/products/codeanalyzers/sonarcfa…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://www.sonarsource.com/products/codeanalyzers/sonarcfa…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://www.sonarsource.com/products/codeanalyzers/sonarcfa…
    https://www.sonarsource.com/products/codeanalyzers/sonarcfa…
    https://www.sonarsource.com/products/codeanalyzers/sonarcfa…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://www.sonarsource.com/products/codeanalyzers/sonarcfa…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://www.sonarsource.com/products/codeanalyzers/sonarcfa…
    https://www.sonarsource.com/products/codeanalyzers/sonarcfa…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://www.sonarsource.com/products/codeanalyzers/sonarcfa…
    https://www.sonarsource.com/products/codeanalyzers/sonarcfa…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://www.sonarsource.com/products/codeanalyzers/sonarcfa…
    https://www.sonarsource.com/products/codeanalyzers/sonarcfa…
    https://www.sonarsource.com/products/codeanalyzers/sonarcfa…
    https://www.sonarsource.com/products/codeanalyzers/sonarcfa…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://www.sonarsource.com/products/codeanalyzers/sonarcfa…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://www.sonarsource.com/products/codeanalyzers/sonarcfa…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://www.sonarsource.com/products/codeanalyzers/sonarcfa…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://www.sonarsource.com/products/codeanalyzers/sonarcfa…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://www.sonarsource.com/products/codeanalyzers/sonarcfa…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://www.sonarsource.com/products/codeanalyzers/sonarcfa…
    https://www.sonarsource.com/products/codeanalyzers/sonarcfa…
    https://www.sonarsource.com/products/codeanalyzers/sonarcfa…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://www.sonarsource.com/products/codeanalyzers/sonarcfa…
    https://www.sonarsource.com/products/codeanalyzers/sonarcfa…
    https://www.sonarsource.com/products/codeanalyzers/sonarcfa…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://www.sonarsource.com/products/codeanalyzers/sonarcfa…
    https://www.sonarsource.com/products/codeanalyzers/sonarcfa…
    https://www.sonarsource.com/products/codeanalyzers/sonarcfa…
    https://www.sonarsource.com/products/codeanalyzers/sonarcfa…
    https://www.sonarsource.com/products/codeanalyzers/sonarcfa…
    https://www.sonarsource.com/products/codeanalyzers/sonarcfa…
    https://www.sonarsource.com/products/codeanalyzers/sonarcfa…
    https://www.sonarsource.com/products/codeanalyzers/sonarcfa…
    https://www.sonarsource.com/products/codeanalyzers/sonarcfa…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://www.sonarsource.com/products/codeanalyzers/sonarcfa…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://www.sonarsource.com/products/codeanalyzers/sonarcfa…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://www.sonarsource.com/products/codeanalyzers/sonarcfa…
    https://www.sonarsource.com/products/codeanalyzers/sonarcfa…
    https://www.sonarsource.com/products/codeanalyzers/sonarcfa…
    https://www.sonarsource.com/products/codeanalyzers/sonarcfa…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://www.sonarsource.com/products/codeanalyzers/sonarcfa…
    https://www.sonarsource.com/products/codeanalyzers/sonarcfa…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://www.sonarsource.com/products/codeanalyzers/sonarcfa…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…
    https://www.sonarsource.com/products/codeanalyzers/sonarcfa…
    https://wiki.sei.cmu.edu/confluence/pages/viewpage.action?p…