Cleanup temporary files (fixes #1239)

This commit is contained in:
Audrius Butkevicius 2015-01-14 20:33:12 +00:00
parent 5ac7564bfe
commit a53facf709
2 changed files with 16 additions and 23 deletions

View File

@ -264,6 +264,7 @@ func (w *Wrapper) Save() error {
if err != nil {
return err
}
defer os.Remove(fd.Name())
err = w.cfg.WriteXML(fd)
if err != nil {

View File

@ -95,7 +95,7 @@ func upgradeToURL(binary string, url string) error {
}
old := binary + ".old"
_ = os.Remove(old)
os.Remove(old)
err = os.Rename(binary, old)
if err != nil {
return err
@ -193,20 +193,16 @@ fileLoop:
}
}
if tempName != "" && actualMD5 != "" {
if tempName != "" {
// We found and saved something to disk.
if expectedMD5 == "" {
if debug {
l.Debugln("there is no md5 to compare with")
}
} else if actualMD5 != expectedMD5 {
// There was an md5 file included in the archive, and it doesn't
// match what we just wrote to disk.
return "", fmt.Errorf("incorrect MD5 checksum")
if expectedMD5 == "" || actualMD5 == expectedMD5 {
return tempName, nil
}
return tempName, nil
os.Remove(tempName)
// There was an md5 file included in the archive, and it doesn't
// match what we just wrote to disk.
return "", fmt.Errorf("incorrect MD5 checksum")
}
return "", fmt.Errorf("no upgrade found")
}
@ -274,20 +270,16 @@ fileLoop:
}
}
if tempName != "" && actualMD5 != "" {
if tempName != "" {
// We found and saved something to disk.
if expectedMD5 == "" {
if debug {
l.Debugln("there is no md5 to compare with")
}
} else if actualMD5 != expectedMD5 {
// There was an md5 file included in the archive, and it doesn't
// match what we just wrote to disk.
return "", fmt.Errorf("incorrect MD5 checksum")
if expectedMD5 == "" || actualMD5 == expectedMD5 {
return tempName, nil
}
return tempName, nil
os.Remove(tempName)
// There was an md5 file included in the archive, and it doesn't
// match what we just wrote to disk.
return "", fmt.Errorf("incorrect MD5 checksum")
}
return "", fmt.Errorf("No upgrade found")
}