├── .clang-format ├── .clang-tidy ├── .github └── workflows │ └── cmake.yml ├── .gitignore ├── CMakeLists.txt ├── LICENSE ├── README.md ├── exploit ├── CMakeLists.txt ├── format │ ├── CMakeLists.txt │ ├── chars_written.c │ ├── direct_access.c │ ├── dtors_test.c │ ├── environment_variable_shellcode.c │ ├── exploitable.c │ ├── exploitable_simple.c │ ├── field_width.c │ ├── format.md │ └── getenvaddr.c ├── handbook │ ├── CMakeLists.txt │ ├── find_stackpointer.c │ └── handbook.md ├── smashing │ ├── CMakeLists.txt │ ├── exit.c │ ├── shellcode.c │ ├── shellcodeasm.c │ ├── smashing.md │ └── test_shellcode.c ├── unlink │ ├── CMakeLists.txt │ ├── Dockerfile │ └── unlink_uclibc.c └── wargames │ ├── CMakeLists.txt │ ├── launch.c │ ├── launch.cpp │ ├── launch_bigger.cpp │ ├── launch_fixed.cpp │ ├── push_string_shellcode_exploit.c │ ├── push_string_shellcode_test.c │ ├── smashing_shellcode_exploit.c │ ├── smashing_shellcode_test.c │ ├── stack_variable_exploit.c │ ├── tty_shellcode.c │ ├── tty_shellcode_asm.c │ ├── tty_shellcode_exploit.c │ └── tty_shellcode_test.c ├── exploitable ├── CMakeLists.txt ├── buffer_underflow.c ├── container_overflow.cpp ├── dangling_pointer.cpp ├── disappearing_memset.c ├── double_free.c ├── global_buffer_overflow.c ├── heap_buffer_overflow.c ├── heap_buffer_overflow_cwe.c ├── incorrect_type_conversion.c ├── infinite_loop.cpp ├── numeric_truncation.c ├── numeric_truncation_ubsan.c ├── numeric_truncation_unsafe.c ├── signed_integer_overflow.c ├── signed_integer_overflow_ubsan.c ├── signed_integer_overflow_unsafe.c ├── stack_buffer_overflow.c ├── stack_buffer_overflow_cwe.c ├── temporary_capture.cpp ├── uncontrolled_format_string.c ├── undefined_behavior.cpp ├── unnamed_lock_guard.cpp ├── unsigned_integer_wraparound.c ├── unsigned_integer_wraparound_ubsan.c ├── unsigned_integer_wraparound_unsafe.c └── use_after_free.c ├── practice ├── CMakeLists.txt ├── commandline.cpp ├── concat_strings.cpp ├── decay.cpp ├── downcasting.cpp ├── enum_class.cpp ├── filesystem.cpp ├── guidelines │ ├── CMakeLists.txt │ ├── CPL │ │ ├── CMakeLists.txt │ │ └── prefer_cpp.cpp │ ├── classes │ │ ├── CMakeLists.txt │ │ └── use_override.cpp │ ├── constants_and_immutability │ │ ├── CMakeLists.txt │ │ └── prefer_const.cpp │ ├── enumerations │ │ ├── CMakeLists.txt │ │ └── prefer_class_enums.cpp │ ├── expressions_and_statements │ │ ├── CMakeLists.txt │ │ ├── always_initialize.cpp │ │ ├── avoid_casts.cpp │ │ ├── cautious_pointer_use.cpp │ │ ├── cautious_pointer_use_decay.cpp │ │ ├── dont_overflow.cpp │ │ ├── dont_underflow.cpp │ │ ├── dont_underflow_c.c │ │ ├── dont_underflow_cpp.cpp │ │ ├── prefer_the_standard_library.cpp │ │ ├── use_braced_init.cpp │ │ ├── use_named_cast.cpp │ │ └── use_std_array.cpp │ ├── functions │ │ ├── CMakeLists.txt │ │ ├── cautious_reference_capture.cpp │ │ ├── cautious_this_capture.cpp │ │ ├── cautious_this_capture_cpp17.cpp │ │ └── cautious_this_capture_cpp_pre17.cpp │ ├── interfaces │ │ ├── CMakeLists.txt │ │ └── state_postconditions.cpp │ ├── naming_and_layout │ │ ├── CMakeLists.txt │ │ └── prefer_typesafe_literals.cpp │ ├── resource_management │ │ ├── CMakeLists.txt │ │ ├── avoid_calling_new_and_delete.cpp │ │ ├── use_raii.cpp │ │ ├── use_raii_c.c │ │ └── use_raii_cpp.cpp │ └── standard_library │ │ ├── CMakeLists.txt │ │ ├── avoid_bounds_errors.cpp │ │ ├── prefer_iostreams.cpp │ │ ├── use_byte_for_non_strings.cpp │ │ └── use_string_for_strings.cpp ├── if_constexpr.cpp ├── midpoint_library.cpp ├── numeric_truncation_safe.c ├── safe_integer_comparisons.cpp ├── signed_integer_overflow_safe.c ├── string_literals.cpp ├── strip_after_colon.cpp ├── unsigned_integer_wraparound_safe.c └── user_defined_literals.cpp └── vulnerability ├── CMakeLists.txt └── heartbleed.c /.clang-format: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/.clang-format -------------------------------------------------------------------------------- /.clang-tidy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/.clang-tidy -------------------------------------------------------------------------------- /.github/workflows/cmake.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/.github/workflows/cmake.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/.gitignore -------------------------------------------------------------------------------- /CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/CMakeLists.txt -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/README.md -------------------------------------------------------------------------------- /exploit/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploit/CMakeLists.txt -------------------------------------------------------------------------------- /exploit/format/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploit/format/CMakeLists.txt -------------------------------------------------------------------------------- /exploit/format/chars_written.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploit/format/chars_written.c -------------------------------------------------------------------------------- /exploit/format/direct_access.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploit/format/direct_access.c -------------------------------------------------------------------------------- /exploit/format/dtors_test.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploit/format/dtors_test.c -------------------------------------------------------------------------------- /exploit/format/environment_variable_shellcode.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploit/format/environment_variable_shellcode.c -------------------------------------------------------------------------------- /exploit/format/exploitable.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploit/format/exploitable.c -------------------------------------------------------------------------------- /exploit/format/exploitable_simple.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploit/format/exploitable_simple.c -------------------------------------------------------------------------------- /exploit/format/field_width.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploit/format/field_width.c -------------------------------------------------------------------------------- /exploit/format/format.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploit/format/format.md -------------------------------------------------------------------------------- /exploit/format/getenvaddr.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploit/format/getenvaddr.c -------------------------------------------------------------------------------- /exploit/handbook/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploit/handbook/CMakeLists.txt -------------------------------------------------------------------------------- /exploit/handbook/find_stackpointer.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploit/handbook/find_stackpointer.c -------------------------------------------------------------------------------- /exploit/handbook/handbook.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploit/handbook/handbook.md -------------------------------------------------------------------------------- /exploit/smashing/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploit/smashing/CMakeLists.txt -------------------------------------------------------------------------------- /exploit/smashing/exit.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploit/smashing/exit.c -------------------------------------------------------------------------------- /exploit/smashing/shellcode.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploit/smashing/shellcode.c -------------------------------------------------------------------------------- /exploit/smashing/shellcodeasm.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploit/smashing/shellcodeasm.c -------------------------------------------------------------------------------- /exploit/smashing/smashing.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploit/smashing/smashing.md -------------------------------------------------------------------------------- /exploit/smashing/test_shellcode.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploit/smashing/test_shellcode.c -------------------------------------------------------------------------------- /exploit/unlink/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploit/unlink/CMakeLists.txt -------------------------------------------------------------------------------- /exploit/unlink/Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploit/unlink/Dockerfile -------------------------------------------------------------------------------- /exploit/unlink/unlink_uclibc.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploit/unlink/unlink_uclibc.c -------------------------------------------------------------------------------- /exploit/wargames/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploit/wargames/CMakeLists.txt -------------------------------------------------------------------------------- /exploit/wargames/launch.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploit/wargames/launch.c -------------------------------------------------------------------------------- /exploit/wargames/launch.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploit/wargames/launch.cpp -------------------------------------------------------------------------------- /exploit/wargames/launch_bigger.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploit/wargames/launch_bigger.cpp -------------------------------------------------------------------------------- /exploit/wargames/launch_fixed.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploit/wargames/launch_fixed.cpp -------------------------------------------------------------------------------- /exploit/wargames/push_string_shellcode_exploit.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploit/wargames/push_string_shellcode_exploit.c -------------------------------------------------------------------------------- /exploit/wargames/push_string_shellcode_test.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploit/wargames/push_string_shellcode_test.c -------------------------------------------------------------------------------- /exploit/wargames/smashing_shellcode_exploit.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploit/wargames/smashing_shellcode_exploit.c -------------------------------------------------------------------------------- /exploit/wargames/smashing_shellcode_test.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploit/wargames/smashing_shellcode_test.c -------------------------------------------------------------------------------- /exploit/wargames/stack_variable_exploit.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploit/wargames/stack_variable_exploit.c -------------------------------------------------------------------------------- /exploit/wargames/tty_shellcode.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploit/wargames/tty_shellcode.c -------------------------------------------------------------------------------- /exploit/wargames/tty_shellcode_asm.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploit/wargames/tty_shellcode_asm.c -------------------------------------------------------------------------------- /exploit/wargames/tty_shellcode_exploit.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploit/wargames/tty_shellcode_exploit.c -------------------------------------------------------------------------------- /exploit/wargames/tty_shellcode_test.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploit/wargames/tty_shellcode_test.c -------------------------------------------------------------------------------- /exploitable/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploitable/CMakeLists.txt -------------------------------------------------------------------------------- /exploitable/buffer_underflow.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploitable/buffer_underflow.c -------------------------------------------------------------------------------- /exploitable/container_overflow.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploitable/container_overflow.cpp -------------------------------------------------------------------------------- /exploitable/dangling_pointer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploitable/dangling_pointer.cpp -------------------------------------------------------------------------------- /exploitable/disappearing_memset.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploitable/disappearing_memset.c -------------------------------------------------------------------------------- /exploitable/double_free.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploitable/double_free.c -------------------------------------------------------------------------------- /exploitable/global_buffer_overflow.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploitable/global_buffer_overflow.c -------------------------------------------------------------------------------- /exploitable/heap_buffer_overflow.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploitable/heap_buffer_overflow.c -------------------------------------------------------------------------------- /exploitable/heap_buffer_overflow_cwe.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploitable/heap_buffer_overflow_cwe.c -------------------------------------------------------------------------------- /exploitable/incorrect_type_conversion.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploitable/incorrect_type_conversion.c -------------------------------------------------------------------------------- /exploitable/infinite_loop.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploitable/infinite_loop.cpp -------------------------------------------------------------------------------- /exploitable/numeric_truncation.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploitable/numeric_truncation.c -------------------------------------------------------------------------------- /exploitable/numeric_truncation_ubsan.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploitable/numeric_truncation_ubsan.c -------------------------------------------------------------------------------- /exploitable/numeric_truncation_unsafe.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploitable/numeric_truncation_unsafe.c -------------------------------------------------------------------------------- /exploitable/signed_integer_overflow.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploitable/signed_integer_overflow.c -------------------------------------------------------------------------------- /exploitable/signed_integer_overflow_ubsan.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploitable/signed_integer_overflow_ubsan.c -------------------------------------------------------------------------------- /exploitable/signed_integer_overflow_unsafe.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploitable/signed_integer_overflow_unsafe.c -------------------------------------------------------------------------------- /exploitable/stack_buffer_overflow.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploitable/stack_buffer_overflow.c -------------------------------------------------------------------------------- /exploitable/stack_buffer_overflow_cwe.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploitable/stack_buffer_overflow_cwe.c -------------------------------------------------------------------------------- /exploitable/temporary_capture.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploitable/temporary_capture.cpp -------------------------------------------------------------------------------- /exploitable/uncontrolled_format_string.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploitable/uncontrolled_format_string.c -------------------------------------------------------------------------------- /exploitable/undefined_behavior.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploitable/undefined_behavior.cpp -------------------------------------------------------------------------------- /exploitable/unnamed_lock_guard.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploitable/unnamed_lock_guard.cpp -------------------------------------------------------------------------------- /exploitable/unsigned_integer_wraparound.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploitable/unsigned_integer_wraparound.c -------------------------------------------------------------------------------- /exploitable/unsigned_integer_wraparound_ubsan.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploitable/unsigned_integer_wraparound_ubsan.c -------------------------------------------------------------------------------- /exploitable/unsigned_integer_wraparound_unsafe.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploitable/unsigned_integer_wraparound_unsafe.c -------------------------------------------------------------------------------- /exploitable/use_after_free.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/exploitable/use_after_free.c -------------------------------------------------------------------------------- /practice/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/practice/CMakeLists.txt -------------------------------------------------------------------------------- /practice/commandline.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/practice/commandline.cpp -------------------------------------------------------------------------------- /practice/concat_strings.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/practice/concat_strings.cpp -------------------------------------------------------------------------------- /practice/decay.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/practice/decay.cpp -------------------------------------------------------------------------------- /practice/downcasting.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/practice/downcasting.cpp -------------------------------------------------------------------------------- /practice/enum_class.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/practice/enum_class.cpp -------------------------------------------------------------------------------- /practice/filesystem.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/practice/filesystem.cpp -------------------------------------------------------------------------------- /practice/guidelines/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/practice/guidelines/CMakeLists.txt -------------------------------------------------------------------------------- /practice/guidelines/CPL/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/practice/guidelines/CPL/CMakeLists.txt -------------------------------------------------------------------------------- /practice/guidelines/CPL/prefer_cpp.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/practice/guidelines/CPL/prefer_cpp.cpp -------------------------------------------------------------------------------- /practice/guidelines/classes/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/practice/guidelines/classes/CMakeLists.txt -------------------------------------------------------------------------------- /practice/guidelines/classes/use_override.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/practice/guidelines/classes/use_override.cpp -------------------------------------------------------------------------------- /practice/guidelines/constants_and_immutability/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/practice/guidelines/constants_and_immutability/CMakeLists.txt -------------------------------------------------------------------------------- /practice/guidelines/constants_and_immutability/prefer_const.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/practice/guidelines/constants_and_immutability/prefer_const.cpp -------------------------------------------------------------------------------- /practice/guidelines/enumerations/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/practice/guidelines/enumerations/CMakeLists.txt -------------------------------------------------------------------------------- /practice/guidelines/enumerations/prefer_class_enums.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/practice/guidelines/enumerations/prefer_class_enums.cpp -------------------------------------------------------------------------------- /practice/guidelines/expressions_and_statements/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/practice/guidelines/expressions_and_statements/CMakeLists.txt -------------------------------------------------------------------------------- /practice/guidelines/expressions_and_statements/always_initialize.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/practice/guidelines/expressions_and_statements/always_initialize.cpp -------------------------------------------------------------------------------- /practice/guidelines/expressions_and_statements/avoid_casts.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/practice/guidelines/expressions_and_statements/avoid_casts.cpp -------------------------------------------------------------------------------- /practice/guidelines/expressions_and_statements/cautious_pointer_use.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/practice/guidelines/expressions_and_statements/cautious_pointer_use.cpp -------------------------------------------------------------------------------- /practice/guidelines/expressions_and_statements/cautious_pointer_use_decay.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/practice/guidelines/expressions_and_statements/cautious_pointer_use_decay.cpp -------------------------------------------------------------------------------- /practice/guidelines/expressions_and_statements/dont_overflow.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/practice/guidelines/expressions_and_statements/dont_overflow.cpp -------------------------------------------------------------------------------- /practice/guidelines/expressions_and_statements/dont_underflow.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/practice/guidelines/expressions_and_statements/dont_underflow.cpp -------------------------------------------------------------------------------- /practice/guidelines/expressions_and_statements/dont_underflow_c.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/practice/guidelines/expressions_and_statements/dont_underflow_c.c -------------------------------------------------------------------------------- /practice/guidelines/expressions_and_statements/dont_underflow_cpp.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/practice/guidelines/expressions_and_statements/dont_underflow_cpp.cpp -------------------------------------------------------------------------------- /practice/guidelines/expressions_and_statements/prefer_the_standard_library.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/practice/guidelines/expressions_and_statements/prefer_the_standard_library.cpp -------------------------------------------------------------------------------- /practice/guidelines/expressions_and_statements/use_braced_init.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/practice/guidelines/expressions_and_statements/use_braced_init.cpp -------------------------------------------------------------------------------- /practice/guidelines/expressions_and_statements/use_named_cast.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/practice/guidelines/expressions_and_statements/use_named_cast.cpp -------------------------------------------------------------------------------- /practice/guidelines/expressions_and_statements/use_std_array.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/practice/guidelines/expressions_and_statements/use_std_array.cpp -------------------------------------------------------------------------------- /practice/guidelines/functions/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/practice/guidelines/functions/CMakeLists.txt -------------------------------------------------------------------------------- /practice/guidelines/functions/cautious_reference_capture.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/practice/guidelines/functions/cautious_reference_capture.cpp -------------------------------------------------------------------------------- /practice/guidelines/functions/cautious_this_capture.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/practice/guidelines/functions/cautious_this_capture.cpp -------------------------------------------------------------------------------- /practice/guidelines/functions/cautious_this_capture_cpp17.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/practice/guidelines/functions/cautious_this_capture_cpp17.cpp -------------------------------------------------------------------------------- /practice/guidelines/functions/cautious_this_capture_cpp_pre17.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/practice/guidelines/functions/cautious_this_capture_cpp_pre17.cpp -------------------------------------------------------------------------------- /practice/guidelines/interfaces/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/practice/guidelines/interfaces/CMakeLists.txt -------------------------------------------------------------------------------- /practice/guidelines/interfaces/state_postconditions.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/practice/guidelines/interfaces/state_postconditions.cpp -------------------------------------------------------------------------------- /practice/guidelines/naming_and_layout/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/practice/guidelines/naming_and_layout/CMakeLists.txt -------------------------------------------------------------------------------- /practice/guidelines/naming_and_layout/prefer_typesafe_literals.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/practice/guidelines/naming_and_layout/prefer_typesafe_literals.cpp -------------------------------------------------------------------------------- /practice/guidelines/resource_management/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/practice/guidelines/resource_management/CMakeLists.txt -------------------------------------------------------------------------------- /practice/guidelines/resource_management/avoid_calling_new_and_delete.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/practice/guidelines/resource_management/avoid_calling_new_and_delete.cpp -------------------------------------------------------------------------------- /practice/guidelines/resource_management/use_raii.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/practice/guidelines/resource_management/use_raii.cpp -------------------------------------------------------------------------------- /practice/guidelines/resource_management/use_raii_c.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/practice/guidelines/resource_management/use_raii_c.c -------------------------------------------------------------------------------- /practice/guidelines/resource_management/use_raii_cpp.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/practice/guidelines/resource_management/use_raii_cpp.cpp -------------------------------------------------------------------------------- /practice/guidelines/standard_library/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/practice/guidelines/standard_library/CMakeLists.txt -------------------------------------------------------------------------------- /practice/guidelines/standard_library/avoid_bounds_errors.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/practice/guidelines/standard_library/avoid_bounds_errors.cpp -------------------------------------------------------------------------------- /practice/guidelines/standard_library/prefer_iostreams.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/practice/guidelines/standard_library/prefer_iostreams.cpp -------------------------------------------------------------------------------- /practice/guidelines/standard_library/use_byte_for_non_strings.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/practice/guidelines/standard_library/use_byte_for_non_strings.cpp -------------------------------------------------------------------------------- /practice/guidelines/standard_library/use_string_for_strings.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/practice/guidelines/standard_library/use_string_for_strings.cpp -------------------------------------------------------------------------------- /practice/if_constexpr.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/practice/if_constexpr.cpp -------------------------------------------------------------------------------- /practice/midpoint_library.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/practice/midpoint_library.cpp -------------------------------------------------------------------------------- /practice/numeric_truncation_safe.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/practice/numeric_truncation_safe.c -------------------------------------------------------------------------------- /practice/safe_integer_comparisons.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/practice/safe_integer_comparisons.cpp -------------------------------------------------------------------------------- /practice/signed_integer_overflow_safe.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/practice/signed_integer_overflow_safe.c -------------------------------------------------------------------------------- /practice/string_literals.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/practice/string_literals.cpp -------------------------------------------------------------------------------- /practice/strip_after_colon.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/practice/strip_after_colon.cpp -------------------------------------------------------------------------------- /practice/unsigned_integer_wraparound_safe.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/practice/unsigned_integer_wraparound_safe.c -------------------------------------------------------------------------------- /practice/user_defined_literals.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/practice/user_defined_literals.cpp -------------------------------------------------------------------------------- /vulnerability/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/vulnerability/CMakeLists.txt -------------------------------------------------------------------------------- /vulnerability/heartbleed.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/patricia-gallardo/insecure-coding-examples/HEAD/vulnerability/heartbleed.c --------------------------------------------------------------------------------