char* foo(void){
  char*hoge="hogehoge";
  return hoge;
}

int main(void){
  char *piyo;
  piyo=foo();
  printf("%s",piyo);
}

このようにプログラムを書いたとき、関数fooを抜けた時点で"hogehoge"へのポインタを参照いることに問題はありませんか?