Pārlūkot izejas kodu

Must verify success of from-network copy during upgrade (ref #1138)

Jakob Borg 11 gadi atpakaļ
vecāks
revīzija
23085eb5ae
1 mainītis faili ar 13 papildinājumiem un 5 dzēšanām
  1. 13 5
      internal/upgrade/upgrade_supported.go

+ 13 - 5
internal/upgrade/upgrade_supported.go

@@ -120,9 +120,6 @@ func readTarGZ(url string, dir string) (string, error) {
 	}
 
 	tr := tar.NewReader(gr)
-	if err != nil {
-		return "", err
-	}
 
 	// Iterate through the files in the archive.
 	for {
@@ -143,14 +140,25 @@ func readTarGZ(url string, dir string) (string, error) {
 			if err != nil {
 				return "", err
 			}
-			io.Copy(of, tr)
+
+			_, err = io.Copy(of, tr)
+			if err != nil {
+				os.Remove(of.Name())
+				return "", err
+			}
+
 			err = of.Close()
 			if err != nil {
 				os.Remove(of.Name())
 				return "", err
 			}
 
-			os.Chmod(of.Name(), os.FileMode(hdr.Mode))
+			err = os.Chmod(of.Name(), os.FileMode(hdr.Mode))
+			if err != nil {
+				os.Remove(of.Name())
+				return "", err
+			}
+
 			return of.Name(), nil
 		}
 	}