Merge pull request #1264 from AudriusButkevicius/tempclean

Put temporary files in the OS temp directory (fixes #1239)
This commit is contained in:
Jakob Borg 2015-01-19 10:12:32 -08:00
commit d372435e92
2 changed files with 16 additions and 23 deletions

View File

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

View File

@ -95,7 +95,7 @@ func upgradeToURL(binary string, url string) error {
} }
old := binary + ".old" old := binary + ".old"
_ = os.Remove(old) os.Remove(old)
err = os.Rename(binary, old) err = os.Rename(binary, old)
if err != nil { if err != nil {
return err return err
@ -193,20 +193,16 @@ fileLoop:
} }
} }
if tempName != "" && actualMD5 != "" { if tempName != "" {
// We found and saved something to disk. // We found and saved something to disk.
if expectedMD5 == "" { if expectedMD5 == "" || actualMD5 == expectedMD5 {
if debug { return tempName, nil
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")
} }
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") return "", fmt.Errorf("no upgrade found")
} }
@ -274,20 +270,16 @@ fileLoop:
} }
} }
if tempName != "" && actualMD5 != "" { if tempName != "" {
// We found and saved something to disk. // We found and saved something to disk.
if expectedMD5 == "" { if expectedMD5 == "" || actualMD5 == expectedMD5 {
if debug { return tempName, nil
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")
} }
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") return "", fmt.Errorf("No upgrade found")
} }