substring memory leaks