- Page 1 and 2: SEI CERT C Coding Standard Rules fo
- Page 3 and 4: Table of Contents 1 Introduction 1
- Page 5: 10 Input/Output (FIO) 281 10.1 FIO3
- Page 9 and 10: Introduction - Audience Some vendor
- Page 11 and 12: Introduction - ISO/IEC TS 17961 C S
- Page 13 and 14: Introduction - Tool Selection and V
- Page 15 and 16: Introduction - Taint Analysis false
- Page 17 and 18: Introduction - Conformance Testing
- Page 19 and 20: Introduction - Usage Early drafts o
- Page 21 and 22: Introduction - How This Coding Stan
- Page 23 and 24: Introduction - How This Coding Stan
- Page 25 and 26: Introduction - Government Regulatio
- Page 27 and 28: Introduction - Acknowledgments a su
- Page 29 and 30: Preprocessor (PRE) - PRE30-C. Do no
- Page 31 and 32: Preprocessor (PRE) - PRE31-C. Avoid
- Page 33 and 34: Preprocessor (PRE) - PRE31-C. Avoid
- Page 35 and 36: Preprocessor (PRE) - PRE31-C. Avoid
- Page 37 and 38: Preprocessor (PRE) - PRE32-C. Do no
- Page 39 and 40: Declarations and Initialization (DC
- Page 41 and 42: Declarations and Initialization (DC
- Page 43 and 44: Declarations and Initialization (DC
- Page 45 and 46: Declarations and Initialization (DC
- Page 47 and 48: Declarations and Initialization (DC
- Page 49 and 50: Declarations and Initialization (DC
- Page 51 and 52: Declarations and Initialization (DC
- Page 53 and 54: Declarations and Initialization (DC
- Page 55 and 56: Declarations and Initialization (DC
- Page 57 and 58:
Declarations and Initialization (DC
- Page 59 and 60:
Declarations and Initialization (DC
- Page 61 and 62:
Declarations and Initialization (DC
- Page 63 and 64:
Declarations and Initialization (DC
- Page 65 and 66:
Declarations and Initialization (DC
- Page 67 and 68:
Declarations and Initialization (DC
- Page 69 and 70:
Declarations and Initialization (DC
- Page 71 and 72:
Declarations and Initialization (DC
- Page 73 and 74:
Declarations and Initialization (DC
- Page 75 and 76:
Expressions (EXP) - EXP30-C. Do not
- Page 77 and 78:
Expressions (EXP) - EXP30-C. Do not
- Page 79 and 80:
Expressions (EXP) - EXP30-C. Do not
- Page 81 and 82:
Expressions (EXP) - EXP32-C. Do not
- Page 83 and 84:
Expressions (EXP) - EXP33-C. Do not
- Page 85 and 86:
Expressions (EXP) - EXP33-C. Do not
- Page 87 and 88:
Expressions (EXP) - EXP33-C. Do not
- Page 89 and 90:
Expressions (EXP) - EXP33-C. Do not
- Page 91 and 92:
Expressions (EXP) - EXP34-C. Do not
- Page 93 and 94:
Expressions (EXP) - EXP34-C. Do not
- Page 95 and 96:
Expressions (EXP) - EXP34-C. Do not
- Page 97 and 98:
Expressions (EXP) - EXP35-C. Do not
- Page 99 and 100:
Expressions (EXP) - EXP36-C. Do not
- Page 101 and 102:
Expressions (EXP) - EXP36-C. Do not
- Page 103 and 104:
Expressions (EXP) - EXP36-C. Do not
- Page 105 and 106:
Expressions (EXP) - EXP37-C. Call f
- Page 107 and 108:
Expressions (EXP) - EXP37-C. Call f
- Page 109 and 110:
Expressions (EXP) - EXP39-C. Do not
- Page 111 and 112:
Expressions (EXP) - EXP39-C. Do not
- Page 113 and 114:
Expressions (EXP) - EXP39-C. Do not
- Page 115 and 116:
Expressions (EXP) - EXP40-C. Do not
- Page 117 and 118:
Expressions (EXP) - EXP42-C. Do not
- Page 119 and 120:
Expressions (EXP) - EXP42-C. Do not
- Page 121 and 122:
Expressions (EXP) - EXP43-C. Avoid
- Page 123 and 124:
Expressions (EXP) - EXP43-C. Avoid
- Page 125 and 126:
Expressions (EXP) - EXP43-C. Avoid
- Page 127 and 128:
Expressions (EXP) - EXP43-C. Avoid
- Page 129 and 130:
Expressions (EXP) - EXP44-C. Do not
- Page 131 and 132:
Expressions (EXP) - EXP44-C. Do not
- Page 133 and 134:
Expressions (EXP) - EXP45-C. Do not
- Page 135 and 136:
Expressions (EXP) - EXP45-C. Do not
- Page 137 and 138:
Expressions (EXP) - EXP46-C. Do not
- Page 139 and 140:
Integers (INT) - INT30-C. Ensure th
- Page 141 and 142:
Integers (INT) - INT30-C. Ensure th
- Page 143 and 144:
Integers (INT) - INT30-C. Ensure th
- Page 145 and 146:
Integers (INT) - INT31-C. Ensure th
- Page 147 and 148:
Integers (INT) - INT31-C. Ensure th
- Page 149 and 150:
Integers (INT) - INT31-C. Ensure th
- Page 151 and 152:
Integers (INT) - INT31-C. Ensure th
- Page 153 and 154:
Integers (INT) - INT32-C. Ensure th
- Page 155 and 156:
Integers (INT) - INT32-C. Ensure th
- Page 157 and 158:
Integers (INT) - INT32-C. Ensure th
- Page 159 and 160:
Integers (INT) - INT32-C. Ensure th
- Page 161 and 162:
Integers (INT) - INT32-C. Ensure th
- Page 163 and 164:
Integers (INT) - INT33-C. Ensure th
- Page 165 and 166:
Integers (INT) - INT33-C. Ensure th
- Page 167 and 168:
Integers (INT) - INT34-C. Do not sh
- Page 169 and 170:
Integers (INT) - INT34-C. Do not sh
- Page 171 and 172:
Integers (INT) - INT34-C. Do not sh
- Page 173 and 174:
Integers (INT) - INT35-C. Use corre
- Page 175 and 176:
Integers (INT) - INT36-C. Convertin
- Page 177 and 178:
Integers (INT) - INT36-C. Convertin
- Page 179 and 180:
Floating Point (FLP) - FLP30-C. Do
- Page 181 and 182:
Floating Point (FLP) - FLP30-C. Do
- Page 183 and 184:
Floating Point (FLP) - FLP32-C. Pre
- Page 185 and 186:
Floating Point (FLP) - FLP32-C. Pre
- Page 187 and 188:
Floating Point (FLP) - FLP32-C. Pre
- Page 189 and 190:
Floating Point (FLP) - FLP32-C. Pre
- Page 191 and 192:
Floating Point (FLP) - FLP34-C. Ens
- Page 193 and 194:
Floating Point (FLP) - FLP34-C. Ens
- Page 195 and 196:
Floating Point (FLP) - FLP36-C. Pre
- Page 197 and 198:
Floating Point (FLP) - FLP37-C. Do
- Page 199 and 200:
Array (ARR) - ARR30-C. Do not form
- Page 201 and 202:
Array (ARR) - ARR30-C. Do not form
- Page 203 and 204:
Array (ARR) - ARR30-C. Do not form
- Page 205 and 206:
Array (ARR) - ARR30-C. Do not form
- Page 207 and 208:
Array (ARR) - ARR30-C. Do not form
- Page 209 and 210:
Array (ARR) - ARR32-C. Ensure size
- Page 211 and 212:
Array (ARR) - ARR32-C. Ensure size
- Page 213 and 214:
Array (ARR) - ARR36-C. Do not subtr
- Page 215 and 216:
Array (ARR) - ARR37-C. Do not add o
- Page 217 and 218:
Array (ARR) - ARR37-C. Do not add o
- Page 219 and 220:
Array (ARR) - ARR38-C. Guarantee th
- Page 221 and 222:
Array (ARR) - ARR38-C. Guarantee th
- Page 223 and 224:
Array (ARR) - ARR38-C. Guarantee th
- Page 225 and 226:
Array (ARR) - ARR38-C. Guarantee th
- Page 227 and 228:
Array (ARR) - ARR38-C. Guarantee th
- Page 229 and 230:
Array (ARR) - ARR39-C. Do not add o
- Page 231 and 232:
Array (ARR) - ARR39-C. Do not add o
- Page 233 and 234:
Characters and Strings (STR) - STR3
- Page 235 and 236:
Characters and Strings (STR) - STR3
- Page 237 and 238:
Characters and Strings (STR) - STR3
- Page 239 and 240:
Characters and Strings (STR) - STR3
- Page 241 and 242:
Characters and Strings (STR) - STR3
- Page 243 and 244:
Characters and Strings (STR) - STR3
- Page 245 and 246:
Characters and Strings (STR) - STR3
- Page 247 and 248:
Characters and Strings (STR) - STR3
- Page 249 and 250:
Characters and Strings (STR) - STR3
- Page 251 and 252:
Characters and Strings (STR) - STR3
- Page 253 and 254:
Characters and Strings (STR) - STR3
- Page 255 and 256:
Characters and Strings (STR) - STR3
- Page 257 and 258:
Characters and Strings (STR) - STR3
- Page 259 and 260:
Characters and Strings (STR) - STR3
- Page 261 and 262:
Characters and Strings (STR) - STR3
- Page 263 and 264:
Memory Management (MEM) - MEM30-C.
- Page 265 and 266:
Memory Management (MEM) - MEM30-C.
- Page 267 and 268:
Memory Management (MEM) - MEM30-C.
- Page 269 and 270:
Memory Management (MEM) - MEM31-C.
- Page 271 and 272:
Memory Management (MEM) - MEM33-C.
- Page 273 and 274:
Memory Management (MEM) - MEM33-C.
- Page 275 and 276:
Memory Management (MEM) - MEM34-C.
- Page 277 and 278:
Memory Management (MEM) - MEM34-C.
- Page 279 and 280:
Memory Management (MEM) - MEM35-C.
- Page 281 and 282:
Memory Management (MEM) - MEM35-C.
- Page 283 and 284:
Memory Management (MEM) - MEM36-C.
- Page 285 and 286:
Memory Management (MEM) - MEM36-C.
- Page 287 and 288:
Input/Output (FIO) - FIO30-C. Exclu
- Page 289 and 290:
Input/Output (FIO) - FIO30-C. Exclu
- Page 291 and 292:
Input/Output (FIO) - FIO32-C. Do no
- Page 293 and 294:
Input/Output (FIO) - FIO32-C. Do no
- Page 295 and 296:
Input/Output (FIO) - FIO32-C. Do no
- Page 297 and 298:
Input/Output (FIO) - FIO34-C. Disti
- Page 299 and 300:
Input/Output (FIO) - FIO34-C. Disti
- Page 301 and 302:
Input/Output (FIO) - FIO34-C. Disti
- Page 303 and 304:
Input/Output (FIO) - FIO37-C. Do no
- Page 305 and 306:
Input/Output (FIO) - FIO38-C. Do no
- Page 307 and 308:
Input/Output (FIO) - FIO39-C. Do no
- Page 309 and 310:
Input/Output (FIO) - FIO39-C. Do no
- Page 311 and 312:
Input/Output (FIO) - FIO40-C. Reset
- Page 313 and 314:
Input/Output (FIO) - FIO41-C. Do no
- Page 315 and 316:
Input/Output (FIO) - FIO42-C. Close
- Page 317 and 318:
Input/Output (FIO) - FIO42-C. Close
- Page 319 and 320:
Input/Output (FIO) - FIO44-C. Only
- Page 321 and 322:
Input/Output (FIO) - FIO45-C. Avoid
- Page 323 and 324:
Input/Output (FIO) - FIO45-C. Avoid
- Page 325 and 326:
Input/Output (FIO) - FIO46-C. Do no
- Page 327 and 328:
Input/Output (FIO) - FIO47-C. Use v
- Page 329 and 330:
Input/Output (FIO) - FIO47-C. Use v
- Page 331 and 332:
Input/Output (FIO) - FIO47-C. Use v
- Page 333 and 334:
Environment (ENV) - ENV30-C. Do not
- Page 335 and 336:
Environment (ENV) - ENV30-C. Do not
- Page 337 and 338:
Environment (ENV) - ENV31-C. Do not
- Page 339 and 340:
Environment (ENV) - ENV31-C. Do not
- Page 341 and 342:
Environment (ENV) - ENV31-C. Do not
- Page 343 and 344:
Environment (ENV) - ENV32-C. All ex
- Page 345 and 346:
Environment (ENV) - ENV32-C. All ex
- Page 347 and 348:
Environment (ENV) - ENV33-C. Do not
- Page 349 and 350:
Environment (ENV) - ENV33-C. Do not
- Page 351 and 352:
Environment (ENV) - ENV33-C. Do not
- Page 353 and 354:
Environment (ENV) - ENV34-C. Do not
- Page 355 and 356:
Environment (ENV) - ENV34-C. Do not
- Page 357 and 358:
Environment (ENV) - ENV34-C. Do not
- Page 359 and 360:
Signals (SIG) - SIG30-C. Call only
- Page 361 and 362:
Signals (SIG) - SIG30-C. Call only
- Page 363 and 364:
Signals (SIG) - SIG30-C. Call only
- Page 365 and 366:
Signals (SIG) - SIG30-C. Call only
- Page 367 and 368:
Signals (SIG) - SIG30-C. Call only
- Page 369 and 370:
Signals (SIG) - SIG31-C. Do not acc
- Page 371 and 372:
Signals (SIG) - SIG31-C. Do not acc
- Page 373 and 374:
Signals (SIG) - SIG34-C. Do not cal
- Page 375 and 376:
Signals (SIG) - SIG34-C. Do not cal
- Page 377 and 378:
Signals (SIG) - SIG35-C. Do not ret
- Page 379 and 380:
Signals (SIG) - SIG35-C. Do not ret
- Page 381 and 382:
Error Handling (ERR) - ERR30-C. Set
- Page 383 and 384:
Error Handling (ERR) - ERR30-C. Set
- Page 385 and 386:
Error Handling (ERR) - ERR30-C. Set
- Page 387 and 388:
Error Handling (ERR) - ERR32-C. Do
- Page 389 and 390:
Error Handling (ERR) - ERR32-C. Do
- Page 391 and 392:
Error Handling (ERR) - ERR32-C. Do
- Page 393 and 394:
Error Handling (ERR) - ERR33-C. Det
- Page 395 and 396:
Error Handling (ERR) - ERR33-C. Det
- Page 397 and 398:
Error Handling (ERR) - ERR33-C. Det
- Page 399 and 400:
Error Handling (ERR) - ERR33-C. Det
- Page 401 and 402:
Error Handling (ERR) - ERR33-C. Det
- Page 403 and 404:
Error Handling (ERR) - ERR33-C. Det
- Page 405 and 406:
Error Handling (ERR) - ERR33-C. Det
- Page 407 and 408:
Error Handling (ERR) - ERR33-C. Det
- Page 409 and 410:
Concurrency (CON) - CON30-C. Clean
- Page 411 and 412:
Concurrency (CON) - CON30-C. Clean
- Page 413 and 414:
Concurrency (CON) - CON31-C. Do not
- Page 415 and 416:
Concurrency (CON) - CON31-C. Do not
- Page 417 and 418:
Concurrency (CON) - CON32-C. Preven
- Page 419 and 420:
Concurrency (CON) - CON32-C. Preven
- Page 421 and 422:
Concurrency (CON) - CON33-C. Avoid
- Page 423 and 424:
Concurrency (CON) - CON33-C. Avoid
- Page 425 and 426:
Concurrency (CON) - CON34-C. Declar
- Page 427 and 428:
Concurrency (CON) - CON34-C. Declar
- Page 429 and 430:
Concurrency (CON) - CON34-C. Declar
- Page 431 and 432:
Concurrency (CON) - CON34-C. Declar
- Page 433 and 434:
Concurrency (CON) - CON35-C. Avoid
- Page 435 and 436:
Concurrency (CON) - CON35-C. Avoid
- Page 437 and 438:
Concurrency (CON) - CON36-C. Wrap f
- Page 439 and 440:
Concurrency (CON) - CON36-C. Wrap f
- Page 441 and 442:
Concurrency (CON) - CON37-C. Do not
- Page 443 and 444:
Concurrency (CON) - CON38-C. Preser
- Page 445 and 446:
Concurrency (CON) - CON38-C. Preser
- Page 447 and 448:
Concurrency (CON) - CON38-C. Preser
- Page 449 and 450:
Concurrency (CON) - CON38-C. Preser
- Page 451 and 452:
Concurrency (CON) - CON39-C. Do not
- Page 453 and 454:
Concurrency (CON) - CON40-C. Do not
- Page 455 and 456:
Concurrency (CON) - CON40-C. Do not
- Page 457 and 458:
Concurrency (CON) - CON41-C. Wrap f
- Page 459 and 460:
Concurrency (CON) - CON41-C. Wrap f
- Page 461 and 462:
Miscellaneous (MSC) - MSC30-C. Do n
- Page 463 and 464:
Miscellaneous (MSC) - MSC30-C. Do n
- Page 465 and 466:
Miscellaneous (MSC) - MSC32-C. Prop
- Page 467 and 468:
Miscellaneous (MSC) - MSC32-C. Prop
- Page 469 and 470:
Miscellaneous (MSC) - MSC33-C. Do n
- Page 471 and 472:
Miscellaneous (MSC) - MSC33-C. Do n
- Page 473 and 474:
Miscellaneous (MSC) - MSC37-C. Ensu
- Page 475 and 476:
Miscellaneous (MSC) - MSC37-C. Ensu
- Page 477 and 478:
Miscellaneous (MSC) - MSC38-C. Do n
- Page 479 and 480:
Miscellaneous (MSC) - MSC39-C. Do n
- Page 481 and 482:
Miscellaneous (MSC) - MSC39-C. Do n
- Page 483 and 484:
Miscellaneous (MSC) - MSC40-C. Do n
- Page 485 and 486:
Miscellaneous (MSC) - MSC40-C. Do n
- Page 487 and 488:
Appendix A: Bibliography [Acton 200
- Page 489 and 490:
[C++ Reference] Standard C Library,
- Page 491 and 492:
[Graff 2003] Graff, Mark G. & Van W
- Page 493 and 494:
[ISO/IEC 9899:1990] ISO/IEC. Progra
- Page 495 and 496:
[ISO/IEC TS 17961] ISO/IEC. Informa
- Page 497 and 498:
[Lipson 2006] Lipson, Howard. Evolu
- Page 499 and 500:
[Murenin 2007] Murenin, Constantine
- Page 501 and 502:
[Saks 2001a] Saks, Dan. “Symbolic
- Page 503 and 504:
[Stevens 2005] Stevens, W. Richard.
- Page 505 and 506:
[VU#649732] Gennari, Jeff. Vulnerab
- Page 507 and 508:
Appendix B: Definitions abnormal en
- Page 509 and 510:
error message A diagnostic message
- Page 511 and 512:
mutilated value Result of an operat
- Page 513 and 514:
strictly conforming A strictly conf
- Page 515 and 516:
verification Confirmation by examin
- Page 517 and 518:
UB Description Guideline 13 A trap
- Page 519 and 520:
UB Description Guideline 46 Additio
- Page 521 and 522:
UB Description Guideline 72 The def
- Page 523 and 524:
UB Description Guideline 101 A file
- Page 525 and 526:
UB Description Guideline 129 A sign
- Page 527 and 528:
UB Description Guideline 154 The fo
- Page 529 and 530:
UB Description Guideline 178 The al
- Page 531 and 532:
Appendix D: Unspecified Behavior Ac
- Page 533 and 534:
USB Description Guideline 30 The re