This is pointing `file` back into the original `full` memory, which is `const char *`, instead of an offset into the `file` copy.  So in the `IS_DOT()` check below, you're then modifying the original `const char *` memory.