C++内存泄露的问题?

在C++中,当我用char *p表示指向一个字符串的指针,
字符串是一个文件的绝对路径,
如(/home/a/b/c.cpp),
当我一个函数需要将这个路径作为参数的时候,
如:funtion1(x1,p,x2);
报错内存泄露,想知道为什么会这样?

在函数内动态分配内存拷贝了字符串,但是执行完没有释放就会导致内存泄露。

这个应该没问题
char *p = "d:\\a.txt";
这么写是没问题的