diff options
Diffstat (limited to 'modules/git/repo_tree_nogogit.go')
-rw-r--r-- | modules/git/repo_tree_nogogit.go | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/modules/git/repo_tree_nogogit.go b/modules/git/repo_tree_nogogit.go index 416205d8a0..867c3fa5aa 100644 --- a/modules/git/repo_tree_nogogit.go +++ b/modules/git/repo_tree_nogogit.go @@ -33,7 +33,7 @@ func (repo *Repository) getTree(id SHA1) (*Tree, error) { bufReader := bufio.NewReader(stdoutReader) // ignore the SHA - _, typ, _, err := ReadBatchLine(bufReader) + _, typ, size, err := ReadBatchLine(bufReader) if err != nil { return nil, err } @@ -41,7 +41,7 @@ func (repo *Repository) getTree(id SHA1) (*Tree, error) { switch typ { case "tag": resolvedID := id - data, err := ioutil.ReadAll(bufReader) + data, err := ioutil.ReadAll(io.LimitReader(bufReader, size)) if err != nil { return nil, err } @@ -57,7 +57,7 @@ func (repo *Repository) getTree(id SHA1) (*Tree, error) { log("tag.commit.Tree: %s %v", commit.Tree.ID.String(), commit.Tree.repo) return &commit.Tree, nil case "commit": - commit, err := CommitFromReader(repo, id, bufReader) + commit, err := CommitFromReader(repo, id, io.LimitReader(bufReader, size)) if err != nil { _ = stdoutReader.CloseWithError(err) return nil, err |