A deep dive into what makes C an unsafe language.
Timestamps:
0:00 1 - Memory safety
1:55 2 - Manual memory management
3:03 interactive memory problem 1
4:35 interactive memory problem 2
5:49 Double free and user after free
6:37 3 - Strings
7:08 interactive string problem 1
9:28 interactive string problem 2
11:09 strnlen
11:46 strcopy
13:04 4 - Arrays
15:52 5 - Optional error handling
16:22 interactive error handling problem 1
17:16 interactive error handling problem 2
19:01 6 - Integer Overflows
21:39 7 - Pointer arithmetic
24:07 8 - Platform inconsistency
26:04 9 - No strict types
27:18 10 - No safety guarantees
27:55 Regular vs Extremely safe C code
30:31 Catching a use after free
31:14 Summary