git-grep: set timeout to 2s by default and allow configuring it
We need to shorten the timeout to bound effectively for computation size. This protects against "too big" repos. This also protects to some extent against too long lines if kept to very low values (basically so that grep cannot run out of memory beforehand). Docs-PR: forgejo/docs#812
This commit is contained in:
parent
44002a6399
commit
824dd6bc5d
3 changed files with 7 additions and 0 deletions
|
@ -15,6 +15,7 @@ import (
|
|||
"os"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"code.gitea.io/gitea/modules/setting"
|
||||
)
|
||||
|
@ -94,6 +95,8 @@ func GrepSearch(ctx context.Context, repo *Repository, search string, opts GrepO
|
|||
opts.MaxResultLimit = cmp.Or(opts.MaxResultLimit, 50)
|
||||
stderr := bytes.Buffer{}
|
||||
err = cmd.Run(&RunOpts{
|
||||
Timeout: time.Duration(setting.Git.Timeout.Grep) * time.Second,
|
||||
|
||||
Dir: repo.Path,
|
||||
Stdout: stdoutWriter,
|
||||
Stderr: &stderr,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue