Secure Coding - C
Understand various memory vulnerabilities in C through examples, and learn how to prevent and patch them through quizzes and patching exercises. Completing this Path will give you skills for writing more secure C code.
Secure Coding - C
Understand various memory vulnerabilities in C through examples, and learn how to prevent and patch them through quizzes and patching exercises. Completing this Path will give you skills for writing more secure C code.
This Path is only available to
Expert User users.
Expert User users.
0% Completed
Total 0 completed
Lecture
0 /22
22
Wargame
0 /12
12
Quiz
0 /10
10
The Lab is a practice and is not included in the overall progress.
Why It's Worth Your Time
C remains the backbone of critical systems such as operating systems, embedded systems, and browser rendering engines. However, because C does not guarantee memory safety, even minor mistakes can lead to severe security vulnerabilities. While developers must secure every part of their code, attackers only need to find a single flaw — making secure coding an essential skill, not an option. This Path is designed for anyone who wants to develop the ability to write safer, more secure code in C.
Topics Covered
- Secure coding in C through theory, quizzes, and patching exercises
- Preventing integer overflows and floating-point errors
- Safe variable declaration and initialization
- Avoiding memory issues like null dereference and Use-After-Free
- Handling security risks in file and I/O operations
- Secure techniques for multithreading and concurrency
- Additional C-based secure coding practices
Recommended For
- Those who want secure coding skills for security, gaming, systems, or embedded development
- Developers who want to write safer C code
- Anyone interested in C-related security vulnerabilities
Prerequisite Knowledge
- Strong understanding of basic C programming
- Knowledge of pointers, arrays, and structures
- Experience in building simple programs in C
Unit Composition
- 1
- 2
Expert Only
Expert Only
Learn about security issues that can arise from misunderstanding or misusing integer types in C, and how to prevent them effectively.IntegerIntegerQuiz: C Secure Coding - IntegerQuiz: C Secure Coding - Integer[Exercise] Patch Chall: C Integer[Practice Together] Patch Chall: C IntegerPatch Chall: C Integer - 3
Expert Only
Expert Only
Learn about security issues related to variable declaration and initialization in C, and how to prevent them effectively.Declaration & InitializationDeclarations and initializationQuiz: C Secure Coding - Declaration & InitializationQuiz: C Secure Coding - Declaration[Exercise] Patch Chall: C Declaration[Practice Together] Patch Chall: C DeclarationPatch Chall: C Declaration - 4
Expert Only
Expert Only
Learn about issues that can arise when handling and converting floating-point data in C, and how to prevent them effectively.Floating PointFloating pointQuiz: C Secure Coding - Floating-Point[Exercise] Patch Chall: C Floating Point[Practice Together] Patch Chall: C Floating-PointPatch Chall: C Floating-Point - 5
Expert Only
Expert Only
Learn about security issues related to expressions in C and how to prevent them effectively.ExpressionExpressionsQuiz: C Secure Coding - Expression[Exercise] Patch Chall: C Uninitialized Memory[Practice Together] Patch Chall: C Uninitialized MemoryPatch Chall: C Uninitialized Memory - 6
- 7
- 8
Expert Only
Expert Only
Learn about security vulnerabilities that can occur during dynamic memory management in C and how to prevent them effectively.Memory ManagementMemory managementQuiz: C Secure Coding - Memory Management[Exercise] Patch Chall: C Memory Management[Practice Together] Patch Chall: C Memory ManagementPatch Chall: C Memory Management[Exercise] Patch Chall: C Null Dereference[Practice Together] Patch Chall: C Null DereferencePatch Chall: C Null Dereference - 9
Expert Only
Expert Only
Learn about security issues that can arise from input/output functions in C and how to prevent them effectively.IO (Input/Output)I/OQuiz: C Secure Coding - IO (Input/Output)[Exercise] Patch Chall: C IO (Input/Output)[Practice Together] Patch Chall: C IO (Input/Output)Patch Chall: C IO (Input/Output) - 10
- 11
Expert Only
Expert Only
Learn about various security issues that can arise in C programming and how to prevent them effectively.MiscellaneousOtherQuiz: C Secure Coding - Miscellaneous[Exercise] Patch Chall: C Miscellaneous[Practice Together] Patch Chall: C MiscellaneousPatch Chall: C Miscellaneous
Reviews
This Path is only available to
Expert User users.
Expert User users.
0% Completed
Total 0 completed
Lecture
0 /22
22
Wargame
0 /12
12
Quiz
0 /10
10
The Lab is a practice and is not included in the overall progress.