"test"はプログラムをメモリ上に読み込んだ時点で確保されてる。
開放されるのはプログラム終了時。

return (char*)"test";
も
char *inStr = "test";
return inStr;
も、書き込みをしなければ問題ない。

但し
char inStr[] = "test";
return inStr;
は駄目。