Catch scanner error when possible to avoid bypass (#36963) (#36976)

Backport #36963 by @lunny

Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
This commit is contained in:
Giteabot
2026-03-25 01:18:01 +08:00
committed by GitHub
parent 9d6817f9c0
commit af29b8182c

View File

@@ -276,6 +276,9 @@ Gitea or set your environment appropriately.`, "")
lastline = 0 lastline = 0
} }
} }
if err := scanner.Err(); err != nil {
return fail(ctx, "Hook failed: stdin read error", "scanner error: %v", err)
}
if count > 0 { if count > 0 {
hookOptions.OldCommitIDs = oldCommitIDs[:count] hookOptions.OldCommitIDs = oldCommitIDs[:count]
@@ -415,6 +418,11 @@ Gitea or set your environment appropriately.`, "")
count = 0 count = 0
} }
} }
if err := scanner.Err(); err != nil {
_ = dWriter.Close()
hookPrintResults(results)
return fail(ctx, "Hook failed: stdin read error", "scanner error: %v", err)
}
if count == 0 { if count == 0 {
if wasEmpty && masterPushed { if wasEmpty && masterPushed {