Bugfix#2504 Rename of temp file fails.

Tempfile was not closed, so rename opertion was failing.
Minor code refactor is done, to make function more readable.

Signed-off-by: Kunal Kushwaha <kushwaha_kunal_v7@lab.ntt.co.jp>
This commit is contained in:
Kunal Kushwaha 2015-12-07 14:02:36 +09:00
parent a277bc6c0a
commit 66db37814d
1 changed files with 7 additions and 6 deletions

View File

@ -41,18 +41,19 @@ func (s Filestore) saveToFile(data []byte, file string) error {
}
defer os.Remove(tmpfi.Name())
err = ioutil.WriteFile(tmpfi.Name(), data, 0600)
if err != nil {
if err = ioutil.WriteFile(tmpfi.Name(), data, 0600); err != nil {
return err
}
err = os.Remove(file)
if err != nil {
if err = tmpfi.Close(); err != nil {
return err
}
err = os.Rename(tmpfi.Name(), file)
if err != nil {
if err = os.Remove(file); err != nil {
return err
}
if err = os.Rename(tmpfi.Name(), file); err != nil {
return err
}
return nil