X-Git-Url: https://plomlompom.com/repos/feed.xml?a=blobdiff_plain;f=src%2Fserver%2Fio.c;h=bc9d8773feab3b68cb9c4705aa20a80afb9bbac9;hb=483f25751ae49c810456faf0bb7a375bc437df10;hp=4d1b609c07457da46b3b0f94f9a65a0202d2b867;hpb=f03b7048321546b45763441cd1f2b34813524bc7;p=plomrogue diff --git a/src/server/io.c b/src/server/io.c index 4d1b609..bc9d877 100644 --- a/src/server/io.c +++ b/src/server/io.c @@ -180,7 +180,8 @@ static void read_file_into_queue() static void update_worldstate_file() { char * f_name = "update_worldstate_file()"; - char path_tmp[strlen(s[PATH_WORLDSTATE]) + strlen(s[PATH_SUFFIX_TMP]) + 1]; + uint16_t size = strlen(s[PATH_WORLDSTATE]) + strlen(s[PATH_SUFFIX_TMP]) + 1; + char * path_tmp = try_malloc(size, f_name); sprintf(path_tmp, "%s%s", s[PATH_WORLDSTATE], s[PATH_SUFFIX_TMP]); FILE * file = try_fopen(path_tmp, "w", f_name); struct Thing * player = get_player(); @@ -196,6 +197,7 @@ static void update_worldstate_file() try_fwrite(world.log, strlen(world.log), 1, file, f_name); } try_fclose_unlink_rename(file, path_tmp, s[PATH_WORLDSTATE], f_name); + free(path_tmp); set_cleanup_flag(CLEANUP_WORLDSTATE); char * dot = ".\n";; try_fwrite(dot, strlen(dot), 1, world.file_out, f_name);