Introduction
Write better secure C code
()
Using the exercise files
()
Compiling the code
()
1. On the Defensive
Understanding the weaknesses of C
()
What the bad guys look for
()
Hunting exploits
()
Documenting everything
()
2. Undefined Behaviors
Formatting preprocessor directives
()
Using an assignment as a condition
()
Avoiding putchar() in a while loop
()
Using the system() call
()
Accessing elements beyond the array size
()
Converting integers
()
Looping with floating point values
()
Using return values
()
Confirming when EOF has been read
()
Challenge: Fix the code
()
Solution: Fix the code
()
3. Input Validation
Authenticating numeric input
()
Converting strings to numbers
()
Using int values instead of char
()
Reading input with fgets()
()
Filtering string input
()
Challenge: Confirming input
()
Solution: Confirming input
()
4. String Management
Allocating strings
()
Avoiding bad string assignment
()
Working with string literals
()
Minding string functions
()
Storing passwords and codes
()
Clearing data after use
()
Challenge: The secret code
()
Solution: The secret code
()
5. Issues with Pointers
Initializing pointers and buffers
()
Checking for NULL pointers
()
Performing pointer math
()
Freeing pointers
()
Challenge: Enter the combination
()
Solution: Enter the combination
()
Ex_Files_Secure_Coding_C.zip
(1.0 MB)