You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

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

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

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)

Disallow particular characters in file names (draft)

  • No labels