Merge "Fix multiple copies of read-only files in sbox"

This commit is contained in:
Colin Cross 2021-04-01 01:09:45 +00:00 committed by Gerrit Code Review
commit 85920c9389
1 changed files with 8 additions and 0 deletions

View File

@ -387,6 +387,14 @@ func copyOneFile(from string, to string, executable bool) error {
} }
defer in.Close() defer in.Close()
// Remove the target before copying. In most cases the file won't exist, but if there are
// duplicate copy rules for a file and the source file was read-only the second copy could
// fail.
err = os.Remove(to)
if err != nil && !os.IsNotExist(err) {
return err
}
out, err := os.Create(to) out, err := os.Create(to)
if err != nil { if err != nil {
return err return err