fopen に渡したファイル名のポインタを暗に保持してて、書き換え不可な処理系とかのオチだったりして
 char name[] = "hogehoge";
 FILE* fp = fopen(name, "w");
 strcpy(name, "a");
 fputs("tekitou", fp); これだけで沈