This lesson opens with the definition of a buffer overflow. A buffer overflow is an overfilling of particular variables (i.e buffers) or resources resulting in issues with memory management such as modification of memory. Participants also learn about the top 25 buffer overflows and the sample code pertaining to these buffer overflows. When an attacker is able to control a buffer overflow, they can control a crash and insert shell code, making an unsuspecting users information vulnerable. Participants also receive samples of codes in C/C++; examples include buffer copy without checking the size of input as well as dangerous function. Finally, the instructor presents a case study about Android KeyStore stack buffer overflow.