fix third argument to strncat(), use smalloc(), use strlen(".old")+1

This commit is contained in:
Michael Stapelberg 2010-11-28 01:22:10 +01:00
parent 0a17fe973c
commit 2c157283ea

View File

@ -29,9 +29,9 @@ bool tree_restore() {
tree_append_json(globbed); tree_append_json(globbed);
size_t path_len = strlen(config.restart_state_path); size_t path_len = strlen(config.restart_state_path);
char *old_restart = malloc(path_len + 5); char *old_restart = smalloc(path_len + strlen(".old") + 1);
strncpy(old_restart, config.restart_state_path, path_len + 5); strncpy(old_restart, config.restart_state_path, path_len + strlen(".old") + 1);
strncat(old_restart, ".old", path_len + 5); strncat(old_restart, ".old", strlen(".old") + 1);
unlink(old_restart); unlink(old_restart);
rename(globbed, old_restart); rename(globbed, old_restart);
free(globbed); free(globbed);