1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00

Safer file io for configuration files

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
This commit is contained in:
Tonis Tiigi 2016-04-20 17:08:47 -07:00
parent 6f67c13d20
commit ea3cbd3274
7 changed files with 119 additions and 38 deletions

View file

@ -19,6 +19,7 @@ import (
"github.com/docker/docker/image"
imagev1 "github.com/docker/docker/image/v1"
"github.com/docker/docker/layer"
"github.com/docker/docker/pkg/ioutils"
"github.com/docker/docker/reference"
)
@ -160,12 +161,7 @@ func calculateLayerChecksum(graphDir, id string, ls checksumCalculator) error {
return err
}
tmpFile := filepath.Join(graphDir, id, migrationDiffIDFileName+".tmp")
if err := ioutil.WriteFile(tmpFile, []byte(diffID), 0600); err != nil {
return err
}
if err := os.Rename(tmpFile, filepath.Join(graphDir, id, migrationDiffIDFileName)); err != nil {
if err := ioutils.AtomicWriteFile(filepath.Join(graphDir, id, migrationDiffIDFileName), []byte(diffID), 0600); err != nil {
return err
}