diff options
author | zeripath <art27@cantab.net> | 2022-05-25 01:51:53 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-05-25 08:51:53 +0800 |
commit | 93ab90743d27f292eb7e8413e5ef1c6b10a65292 (patch) | |
tree | dc03950a3c36349745e13f34c6d291963e1588b0 /templates/user | |
parent | b24db66a5fc5da501efd7e7e76776503fb906b1d (diff) | |
download | gitea-93ab90743d27f292eb7e8413e5ef1c6b10a65292.tar.gz gitea-93ab90743d27f292eb7e8413e5ef1c6b10a65292.zip |
Prevent loop if there is an error in GetNotificationCount (#19799)
If the context is cancelled `.NotificationUnreadCount` in a template can
cause an infinite loop with `ctx.ServerError()` being called, which
creates a template that then calls `.NotificationUnreadCount` calling
`GetNotificationCount()` with the cancelled context resulting in an
error that calls `ctx.ServerError`... and so on...
This PR simply stops calling `ctx.ServerError` in the error handler code
for `.NotificationUnreadCount` as we have already started rendering and
so it is too late to call `ctx.ServerError`. Additionally we skip
logging the error if it's a context cancelled error.
Fix #19793
Signed-off-by: Andrew Thornton <art27@cantab.net>
Co-authored-by: techknowlogick <techknowlogick@gitea.io>
Diffstat (limited to 'templates/user')
0 files changed, 0 insertions, 0 deletions