Fix stack corruption

If the original info string is longer than half of the buffer size, the
memmove could affect bytes after the end of the buffer.