What is going on here?  Why do we get a segmentation violation?  Simple. strcpy( ) is copying the contents of *str (larger_string[ ]) into buffer[ ]
until a null character is found on the string.  As we can see buffer[ ] is much smaller than *str.  buffer[ ] is 16 bytes long, and we are trying to stuff it with 256 bytes.  This means that all 240 bytes after buffer in the stack
are being overwritten!

flag as inappropriate

Create your own!
      What is going on here?  Why do we get a segmentation violation?  Simple. strcpy( ) is copying the contents of *str (larger_string[ ]) into buffer[ ]
until a null character is found on the string.  As we can see buffer[ ] is much smaller than *str.  buffer[ ] is 16 bytes long, and we are trying to stuff it with 256 bytes.  This means that all 240 bytes after buffer in the stack
are being overwritten!