Types of memory faults - Memory leak Forget to free(…) a buffer on the heap. - Buffer overflow (aka "Invalid write") Write past the end of your buffer on the heap (or array on the stack). Like going into an adjacent hotel room that is not reserved for you. - Buffer overread Read past the end of our buffer or array. - Accessing memory after it has been freed. - Conditional jump (or move) depends on uninitialized value. int n; // not initialized if(n > 5) { // we have no control over whether we go into the loop because n is uninitialize. We don't know what will be there in memory. … } - Segmentation fault Reading or writing in an area of memory that you are not allowed to access in that way. ALL OF THIS IS ON THE BACK OF YOUR REFERENCE