Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The C rules and recommendations in this wiki are a work in progress and reflect the current thinking of the secure coding community. Because this is a development website, many pages are incomplete or contain errors. As rules and recommendations mature, they are published in report or book form as official releases. These releases are issued as dictated by the needs and interests of the secure software development community.

Create a sign-in account if you want to comment on existing content. If you wish to be more involved and directly edit content on the site, you still need an account, but you'll also need to request edit privileges.

Front Matter  

Content by Label
showLabelsfalse
max99
spaces@self
showSpacefalse
sorttitleshowSpace
cqllabel = "intro" and space = currentSpace()false
labels+intro

 

Rules

Content by Label
showLabelsfalse
max99
spaces@self
showSpacefalse
sorttitleshowSpace
cqllabel = "rule-list" and space = currentSpace()false
labels+rule-list

Back Matter

Content by Label
showLabelsfalse
max99
spaces@self
showSpacefalse
sorttitleshowSpace
cqllabel = "bm" and label != "void" and space = currentSpace()false
labels+bm -void

  

Recommendations

Content by Label
showLabelsfalse
max99
spaces@self
showSpacefalse
sorttitleshowSpace
cqllabel = "recommendation-list" and space = currentSpace()false
labels+recommendation-list

 

Panel
borderColor#B0B1BA
bgColor#fafafa
titleColor#ffffff
borderWidth1
titleBGColor#B0B1BA
borderWidthborderStyle1solid
titleSecure C Coding Books
borderStylesolid
SEI CERT C Coding StandardImage Added

There are two books available that cover C: one for rules and the other for guidelines. 

  

Image RemovedThe CERT C Coding Standard provides , 2016 Edition provides rules to help programmers ensure that their code complies with the new C11 standard and earlier standards, including C99.  It is downloadable as a PDF. 

  

Secure Coding in C and C++ identifies the root causes of today's most widespread software vulnerabilities, shows how they can be exploited, reviews the potential consequences, and presents secure alternatives.

Panel
borderColor#B0B1BA
bgColor#fafafa
titleColor#ffffff
borderWidth1
titleBGColor#B0B1BA
borderWidthborderStyle1solid
titleSource Code Analysis Laboratory (SCALe)borderStylesolid
SCALe offers conformance testing of C  language software systems against the CERT C Secure Coding Standard.
Panel
borderStyle
borderColor#B0B1BA
bgColor#fafafa
titleColor#ffffff
borderWidth1
titleBGColor#B0B1BA
borderWidthborderStyle1solid
titleContact Ussolid

Contact us if you

  • have questions about the Secure Coding wiki
  • have recommendations for standards in development
  • want to request privileges to participate in standards development
Panel
borderColor#B0B1BA
bgColor#fafafa
titleColor#ffffff
borderWidth1
titleBGColor#B0B1BA
borderWidthborderStyle1solid
titleThank You!borderStylesolid

We acknowledge the contributions of the following folks , and we look forward to seeing your name here as well.  

Include Page
seccode:Understand the Difference Between Rules and Recommendations
seccode:Understand the Difference Between Rules and Recommendations

Info
titleLinking to Our Pages

Link to guidelines using the Tiny Link under Tools→Link to this Page... (This URL will not change if the name of the guideline changes.)   

Info
titleInformation for Editors
  • To eliminate a section from the lists above, label it section and void.
  • To have a section listed as a recommendation, label it section and recommendation.
  • To have a section listed as a rule, label it section and rule.