mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2025-06-23 01:20:50 +00:00
Fix git.parseTagData (#14105)
* Fix git.parseTagData() close #14092 * Add Test * add message to test * limit readers * git tag -m trims and terminates with a newline Co-authored-by: Andrew Thornton <art27@cantab.net> Co-authored-by: 6543 <6543@obermui.de>
This commit is contained in:
parent
30edcd5c71
commit
27fa4814b8
4 changed files with 81 additions and 5 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue