Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Avoid unnecessary 500 panic when a commit doesn't exist #28719

Merged
merged 1 commit into from
Jan 7, 2024

Conversation

wxiaoguang
Copy link
Contributor

In #26851, it assumed that Commit always exists when PageIsDiff==true.

But for a 404 page, the Commit doesn't exist, so the following code would cause panic because nil value can't be passed as string parameter to IsMultilineCommitMessage(string) (or the StringUtils.Cut in later PRs)

@wxiaoguang wxiaoguang added the backport/v1.21 This PR should be backported to Gitea 1.21 label Jan 7, 2024
@wxiaoguang wxiaoguang added this to the 1.22.0 milestone Jan 7, 2024
@GiteaBot GiteaBot added the lgtm/need 2 This PR needs two approvals by maintainers to be considered for merging. label Jan 7, 2024
@pull-request-size pull-request-size bot added the size/S Denotes a PR that changes 10-29 lines, ignoring generated files. label Jan 7, 2024
@wxiaoguang wxiaoguang added skip-changelog This PR is irrelevant for the (next) changelog, for example bug fixes for unreleased features. and removed size/S Denotes a PR that changes 10-29 lines, ignoring generated files. labels Jan 7, 2024
@pull-request-size pull-request-size bot added the size/S Denotes a PR that changes 10-29 lines, ignoring generated files. label Jan 7, 2024
@GiteaBot GiteaBot added lgtm/need 1 This PR needs approval from one additional maintainer to be merged. and removed lgtm/need 2 This PR needs two approvals by maintainers to be considered for merging. labels Jan 7, 2024
@GiteaBot GiteaBot added lgtm/done This PR has enough approvals to get merged. There are no important open reservations anymore. and removed lgtm/need 1 This PR needs approval from one additional maintainer to be merged. labels Jan 7, 2024
@denyskon denyskon added the reviewed/wait-merge This pull request is part of the merge queue. It will be merged soon. label Jan 7, 2024
@wxiaoguang wxiaoguang merged commit c5901b6 into go-gitea:main Jan 7, 2024
25 checks passed
@wxiaoguang wxiaoguang deleted the fix-commit-panic branch January 7, 2024 10:20
GiteaBot pushed a commit to GiteaBot/gitea that referenced this pull request Jan 7, 2024
In go-gitea#26851, it assumed that `Commit` always exists when
`PageIsDiff==true`.

But for a 404 page, the `Commit` doesn't exist, so the following code
would cause panic because nil value can't be passed as string parameter
to `IsMultilineCommitMessage(string)` (or the StringUtils.Cut in later
PRs)
@GiteaBot GiteaBot added backport/done All backports for this PR have been created and removed reviewed/wait-merge This pull request is part of the merge queue. It will be merged soon. labels Jan 7, 2024
wxiaoguang added a commit that referenced this pull request Jan 7, 2024
)

Backport #28719 by wxiaoguang

In #26851, it assumed that `Commit` always exists when
`PageIsDiff==true`.

But for a 404 page, the `Commit` doesn't exist, so the following code
would cause panic because nil value can't be passed as string parameter
to `IsMultilineCommitMessage(string)` (or the StringUtils.Cut in later
PRs)

Co-authored-by: wxiaoguang <[email protected]>
zjjhot added a commit to zjjhot/gitea that referenced this pull request Jan 8, 2024
* giteaofficial/main:
  [skip ci] Updated licenses and gitignores
  Move the captcha script loader to the template which really needs it (go-gitea#28718)
  Suggest to use Type=simple for systemd service (go-gitea#28717)
  Fix incorrect URL for "Reference in New Issue" (go-gitea#28716)
  Avoid unnecessary 500 panic when a commit doesn't exist (go-gitea#28719)
  [skip ci] Updated translations via Crowdin
  Improve frontend guideline (go-gitea#28711)
  Fix panic when parsing empty pgsql host (go-gitea#28708)
  Add merge arrow direction and update styling (go-gitea#28523)
fuxiaohei pushed a commit to fuxiaohei/gitea that referenced this pull request Jan 17, 2024
In go-gitea#26851, it assumed that `Commit` always exists when
`PageIsDiff==true`.

But for a 404 page, the `Commit` doesn't exist, so the following code
would cause panic because nil value can't be passed as string parameter
to `IsMultilineCommitMessage(string)` (or the StringUtils.Cut in later
PRs)
silverwind pushed a commit to silverwind/gitea that referenced this pull request Feb 20, 2024
In go-gitea#26851, it assumed that `Commit` always exists when
`PageIsDiff==true`.

But for a 404 page, the `Commit` doesn't exist, so the following code
would cause panic because nil value can't be passed as string parameter
to `IsMultilineCommitMessage(string)` (or the StringUtils.Cut in later
PRs)
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Mar 12, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
backport/done All backports for this PR have been created backport/v1.21 This PR should be backported to Gitea 1.21 lgtm/done This PR has enough approvals to get merged. There are no important open reservations anymore. size/S Denotes a PR that changes 10-29 lines, ignoring generated files. skip-changelog This PR is irrelevant for the (next) changelog, for example bug fixes for unreleased features. type/bug
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants