This documentation is not maintained. Please refer to doc.castsoftware.com/technologies to find the latest updates.

2.1.0-funcrel

Other Updates

Details
Security requirement for SSL in C++ extension: A change has been implemented in preparation for the future support of encrypted SSL connections to CAST Storage Service/PostgreSQL.
Incorrect violations for "Ensure Switch statements have at least 2 case clauses (C/C++)"
C++ analysis crashes with exit code -1073741819
Access violation during analysis with nested exec SQL include

2.1.0-beta1

Rules

Rule IdNew RuleDetails
1065064TRUEAvoid doing assignments in sub-expressions (C++)
1065062TRUEAvoid testing floating point numbers for equality
1065060TRUEAvoid loops with floating point counter (C/C++)

2.1.0-alpha2

Other Updates

Details
AIP QR "Avoid 'catch-all' statement" gives violation for main() as well when it should not
New rules does not have correct technology filter

Rules

Rule IdNew RuleDetails
1065058TRUEEnsure that there is at least one exception handler to catch-all otherwise unhandled exceptions in the main function(C++)
1065054TRUEDo not override the standard library functions (C/C++)
1065052TRUEAvoid using Octal constants or escape sequences (C/C++)
1065050TRUEAvoid using "sizeof" on expressions that contain side effects
1065048TRUEWhere multiple handlers are provided in a single try-catch statement or function-try-block, any ellipsis (catch-all) handler shall occur last.
1065046TRUEAvoid using the unbounded functions of <cstring> library

2.1.0-alpha1

Rules

Rule IdNew RuleDetails
1065044TRUEAvoid other than main(), namespace declarations and extern "C" declarations in the global namespace (C/C++)
1065038TRUEAvoid using 'signal.h' (C/C++)
1065036TRUEAvoid using '//' and '/*' within comments (C/C++)
1065034TRUEAvoid throwing an exception object of pointer type (C++)
1065032TRUEAvoid flexible array members (C/C++)
1065030TRUEAll if … else if constructs shall be terminated with an else clause (C/C++)
1065028TRUEEnsure Switch statements have at least 2 case clauses (C/C++)
1065022TRUEAvoid using <stdio.h> (C/C++)
1065020TRUEAvoid using <ctime> (C++)
1065026TRUEEnsure exception objects are always caught by reference (C++)
1065024TRUEAvoid using the standard library time and date functions from "<time.h>" (C/C++)
1065014TRUEAvoid using the library functions bsearch and qsort from <stdlib.h> (C/C++)
1065012TRUEAvoid using 'setjmp' or 'longjmp' (C/C++)
1065010TRUEAvoid using <cstdio> stream input output library (C++)
1065016TRUEAvoid using atof,atol, atoll or atoi functions from <stdlib.h> (C/C++)
1065040TRUEAvoid anonymous namespaces in header files (C++)
1065042TRUEAvoid having a non-void return type function without an explicit return of an expression (C++)