Fix checksum computing

Upstream-commit: f10b0f75e02041db64176760a3be9639408ad923
Component: engine
This commit is contained in:
shin-
2013-04-30 14:05:33 -07:00
parent e2645da3a8
commit 140338cd02

View File

@ -283,22 +283,26 @@ func (img *Image) Checksum() (string, error) {
if err != nil {
return "", err
}
layerData, err := Tar(layer, Xz)
if err != nil {
return "", err
}
h := sha256.New()
if _, err := io.Copy(h, layerData); err != nil {
return "", err
}
jsonData, err := ioutil.ReadFile(jsonPath(root))
if err != nil {
return "", err
}
layerData, err := Tar(layer, Xz)
if err != nil {
return "", err
}
h := sha256.New()
if _, err := io.Copy(h, bytes.NewBuffer(jsonData)); err != nil {
return "", err
}
if _, err := io.Copy(h, strings.NewReader("\n")); err != nil {
return "", err
}
if _, err := io.Copy(h, layerData); err != nil {
return "", err
}
hash := "sha256:"+hex.EncodeToString(h.Sum(nil))
if *checksums == nil {