Versions Compared

Key

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

MAINTENANCE NOTICE:

For a few weeks beginning 23 October 2017, we will be performing occasional maintenance on this CERT Secure Coding wiki.  This is a general notification announcing our maintenance plans.

We are planning the maintenance to minimize the impact to users. There will be several phases of maintenance, and we will provide more detailed information for each phase, such as expected maintenance periods and expected impacts.  During the most significant periods of maintenance, we will provide a read-only version of the wiki, but not allow editing.  That should only affect contributors, and not the vast majority of users of the system.  

When the maintenance is complete, user accounts and histories will be retained for registered users.  But, registered users will need to reset your password through the site’s “forgot password” mechanism.  We will provide more information and instructions before and after that phase of the maintenance.

We expect all maintenance to be complete by early November.  If you have any concerns, please send email to info@sei.cmu.edu, referencing the Secure Coding wiki.

 

--

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.

The CERT C++ Coding Standard does not currently expose any recommendations; all C++ recommendations have been removed (moved to The Void section) due to quality concerns pending further review and development.

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
sorttitle
reversetrue
cqllabel = "front-matter" and space = currentSpace()
labels+intro

Rules

 

Content by Label
showLabelsfalse
max99
spaces@self
showSpacefalse
sorttitle
cqllabel = "rule-list" and label != "void" and space = currentSpace()
labels+rule-list,-void

 

Back Matter

 

Content by Label
showLabelsfalse
max99
spaces@self
showSpacefalse
sorttitle
cqllabel = "bm" and label not in ("cwe-sans","void") and space = currentSpace()
labels+bm -void -cwe-sans

Panel
borderColor#B0B1BA
bgColor#fafafa
titleColor#ffffff
borderWidth1
titleBGColor#B0B1BA
borderStylesolid
titleSecure C++ Coding Books and Downloads

The CERT C++ Coding Standard, 2016 Edition provides rules to help programmers ensure that their C++ code reduces security flaws by following secure coding best practices.  It is downloadable as a PDF.  (errata)


The CERT C++ Coding Standard references and relies on the CERT C Coding Standard. The CERT C Coding Standard, 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.  (errata)


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
borderStylesolid
titleContact Us

Contact us if you

  • have questions about this 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
borderStylesolid
titleThank You!

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.