Notice that the programmer had several opportunities for improper error detection and
handling. If there was no comparison with str (i.e., no CHECK-AFTER), then the strcpy()
could result in a NULL pointer dereference. Even with a correct check to see if str is
NULL, the program must alter its control flow. If there is no call to exit(), for example,