Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/checkpoint-restore/criu.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Viennot <Nicolas.Viennot@twosigma.com>2019-12-19 02:32:32 +0300
committerAndrei Vagin <avagin@gmail.com>2020-02-04 23:39:44 +0300
commit7622b7a70eb7a00b2ba542f9118f4351b3df2538 (patch)
treefa744415e18e4b5179984804fa33725745b284e0 /criu/files-reg.c
parentacb42456dc707a303b308fef67b2be92c81ab427 (diff)
files: fix ghost file error path
Signed-off-by: Nicolas Viennot <nicolas.viennot@twosigma.com>
Diffstat (limited to 'criu/files-reg.c')
-rw-r--r--criu/files-reg.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/criu/files-reg.c b/criu/files-reg.c
index 2f68bc03f..90fb7dd7f 100644
--- a/criu/files-reg.c
+++ b/criu/files-reg.c
@@ -844,10 +844,13 @@ static int dump_ghost_remap(char *path, const struct stat *st,
gf->dev = phys_dev;
gf->ino = st->st_ino;
gf->id = ghost_file_ids++;
- list_add_tail(&gf->list, &ghost_files);
- if (dump_ghost_file(lfd, gf->id, st, phys_dev))
+ if (dump_ghost_file(lfd, gf->id, st, phys_dev)) {
+ xfree(gf);
return -1;
+ }
+
+ list_add_tail(&gf->list, &ghost_files);
dump_entry:
rpe.orig_id = id;