The use of strcpy on data that is assumed to be null terminated causes reads and writes past buffers.