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

Compare with Current View Page History

« Previous Version 11 Next »

Use type definitions (typedef) to improve code readability.

Non-Compliant Code Example

The following declaration of the signal() function does not make use of typedef names and is consequently hard to read.

void (*signal(int, void (*)(int)))(int);

Compliant Solution

This compliant solution makes use of typedef names to specify exactly the same type as in the non-compliant coding example.

typedef void fv(int),
typedef void (*pfv)(int);
fv *signal(int, fv *);
pfv signal(int, pfv);

Risk Assessment

Code readability is important for discovering and eliminating vulnerabilities.

Recommendation

Severity

Likelihood

Remediation Cost

Priority

Level

DCL05-A

1 (low)

1 (unlikely)

2 (medium)

P2

L3

Search for vulnerabilities resulting from the violation of this rule on the CERT website.

References

[[ISO/IEC 9899-1999]] Section 6.7.7, "Type definitions"


DCL04 NCCE 2       02. Declarations and Initialization (DCL)       DCL06-A. Use meaningful symbolic constants to represent literal values in program logic

  • No labels