STR34-C. Ensure that source and destination pointers in function arguments do not point to overlapping objects
ARR34-C. Ensure that array types in assignment expressions are compatible
FLP33-C. Prevent decimal errors when converting from integers to floating point numbers
NTxx-A. Distinguish bitmaps from numeric types
MSCxx-A. Validate parameters on functions exposed as API
EXPxx-A. Always use sizeof operator to retrieve datatype sizes
Do not use vfork(2)
DAN30-A. Create a copy constructor and assignment operator for non copyable objects
MSC06-A. Always assign and compare return values to their proper type.
INT14-A. Avoid pointer to integer and integer to pointer conversions
MSC05-A. Do not make assumptions about the type of time_t and clock_t
EXP07-A. Use caution with NULL and 0, especially concerning pointers
ENV30-C. Do not modify the string returned by getenv()
MSC09-A Character Encoding - Use Subset of ASCII for Safety
MSC10-A Character Encoding - UTF8 Related Issues
FLP34-C. When demoting floating point numbers, verify that the demoted value fits within the range of the new type.
FIO09-A. fflush() should be called after writing to an output stream has completed.
FLP34-C. When demoting floating point numbers, verify that the demoted value fits within the range of the new type.
Use function prototypes (Draft)
Use setlocale() carefully (DRAFT)
MEM38-C. Use Flexible Array Members for dynamically sized structures
MSC08-A. Do not refer to a modified object within the same expression
MSC-08A. Do not refer to a modified object in the same expression
MSC07-A. Avoid race conditions with signal handlers
MEM05-A. Avoid large stack allocations.
MSC06-A. Avoid race conditions with multiple threads
DCL05-A. Do not use identifiers with different linked classifications
DCL05-A. Do not convert a function pointer to a function of a different type
Understand that strtok() modifies its string argument
Do not cast pointers between objects with differing alignments
Parenthesize library functions to prevent naming conflicts
Don't use a function pointer whose type is not compatible to pointed to type Draft
Only use values for fsetpos that are returned from fgetpos Draft
Minimize the use of enviroment variables Draft
DCL06-A Use Symbolic values rather than numeric values when possible
STR05-A. String Literals should only be assigned to constant pointers
INT38-C. Ensure that Integer arithmetic and conversion functions are used only if the result can be represented in the type
ENV32-C. Do not call the exit() function more than once
EXP08-A. Exercise caution using pointer arithmetic for size comparisons
ENV04-A. Do not call the system() or popen() functions
MSC08-A. Do not perform unbounded copy on returned strings of calls to GNU gettext functions
Overall formatting / editing is poor, reference section unfinished.
Do not call longjmp from inside a signal handler
Do not assume the layout of bitfields in memory (draft)
Do not name a file the same as a standard library in the typical path to search for libraries
Do not assume that an environmental variable is unique based on the name (draft)
Do not unlock or destroy another process's mutex (draft)
Do not assume child or parent blocks are atomic after forking (draft)
Disallow particular characters in file names (draft)