diff --git a/filetree/node.go b/filetree/node.go index f9b2eb4..8447602 100644 --- a/filetree/node.go +++ b/filetree/node.go @@ -303,7 +303,6 @@ func (node *FileNode) compare(other *FileNode) DiffType { if node.Name != other.Name { panic("comparing mismatched nodes") } - // TODO: fails on nil return node.Data.FileInfo.Compare(other.Data.FileInfo) } diff --git a/image/docker_image.go b/image/docker_image.go index ca259ab..ef415ef 100644 --- a/image/docker_image.go +++ b/image/docker_image.go @@ -140,18 +140,18 @@ func (image *dockerImageAnalyzer) Analyze() (*AnalysisResult, error) { // as you iterate chronologically through history (ignoring history items that have no layer contents) layerIdx := len(image.trees) - 1 tarPathIdx := 0 - for idx := 0; idx < len(config.History); idx++ { + for histIdx := 0; histIdx < len(config.History); histIdx++ { // ignore empty layers, we are only observing layers with content - if config.History[idx].EmptyLayer { + if config.History[histIdx].EmptyLayer { continue } tree := image.trees[(len(image.trees)-1)-layerIdx] - config.History[idx].Size = uint64(tree.FileSize) + config.History[histIdx].Size = uint64(tree.FileSize) image.layers[layerIdx] = &dockerLayer{ - history: config.History[idx], - index: layerIdx, + history: config.History[histIdx], + index: tarPathIdx, tree: image.trees[layerIdx], tarPath: manifest.LayerTarPaths[tarPathIdx], } diff --git a/runtime/export.go b/runtime/export.go index 39673be..48f768a 100644 --- a/runtime/export.go +++ b/runtime/export.go @@ -17,7 +17,7 @@ func newExport(analysis *image.AnalysisResult) *export { idx := (len(analysis.Layers) - 1) - revIdx data.Layer[idx] = exportLayer{ - Index: idx, + Index: layer.Index(), DigestID: layer.Id(), SizeBytes: layer.Size(), Command: layer.Command(),