Skip to content

Commit

Permalink
Merge pull request #10209 from filecoin-project/fix-check-backupfile
Browse files Browse the repository at this point in the history
fix: cli: error if backup file already exists
  • Loading branch information
rjan90 authored Feb 9, 2023
2 parents 25babac + 0e7cf61 commit 9848e04
Showing 1 changed file with 10 additions and 1 deletion.
11 changes: 10 additions & 1 deletion cli/backup.go
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,10 @@ func BackupCmd(repoFlag string, rt repo.RepoType, getApi BackupApiFn) *cli.Comma
return xerrors.Errorf("expanding file path: %w", err)
}

if _, err := os.Stat(fpath); !os.IsNotExist(err) {
return xerrors.Errorf("backup file %s already exists. Overwriting it will corrupt the file, please specify another file name", fpath)
}

out, err := os.OpenFile(fpath, os.O_CREATE|os.O_WRONLY, 0644)
if err != nil {
return xerrors.Errorf("opening backup file %s: %w", fpath, err)
Expand All @@ -87,7 +91,12 @@ func BackupCmd(repoFlag string, rt repo.RepoType, getApi BackupApiFn) *cli.Comma
}
defer closer()

err = api.CreateBackup(ReqContext(cctx), cctx.Args().First())
backupPath := cctx.Args().First()
if _, err := os.Stat(backupPath); !os.IsNotExist(err) {
return xerrors.Errorf("backup file %s already exists. Overwriting it will corrupt the file, please specify another file name", backupPath)
}

err = api.CreateBackup(ReqContext(cctx), backupPath)
if err != nil {
return err
}
Expand Down

0 comments on commit 9848e04

Please sign in to comment.