Browse code

Fix checksum computing

shin- authored on 2013/05/01 06:05:33
Showing 1 changed files
... ...
@@ -283,20 +283,24 @@ func (img *Image) Checksum() (string, error) {
283 283
 	if err != nil {
284 284
 		return "", err
285 285
 	}
286
+	jsonData, err := ioutil.ReadFile(jsonPath(root))
287
+	if err != nil {
288
+		return "", err
289
+	}
290
+
286 291
 	layerData, err := Tar(layer, Xz)
287 292
 	if err != nil {
288 293
 		return "", err
289 294
 	}
295
+
290 296
 	h := sha256.New()
291
-	if _, err := io.Copy(h, layerData); err != nil {
297
+	if _, err := io.Copy(h, bytes.NewBuffer(jsonData)); err != nil {
292 298
 		return "", err
293 299
 	}
294
-
295
-	jsonData, err := ioutil.ReadFile(jsonPath(root))
296
-	if err != nil {
300
+	if _, err := io.Copy(h, strings.NewReader("\n")); err != nil {
297 301
 		return "", err
298 302
 	}
299
-	if _, err := io.Copy(h, bytes.NewBuffer(jsonData)); err != nil {
303
+	if _, err := io.Copy(h, layerData); err != nil {
300 304
 		return "", err
301 305
 	}
302 306