From bd05040133ec5ce5b431e05d8c873195d9501d6d Mon Sep 17 00:00:00 2001 From: tobi <31960611+tsmethurst@users.noreply.github.com> Date: Thu, 3 Nov 2022 14:38:06 +0100 Subject: [bugfix] Use []rune to check length of user-submitted text (#948) --- internal/api/client/status/statuscreate.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'internal/api/client/status/statuscreate.go') diff --git a/internal/api/client/status/statuscreate.go b/internal/api/client/status/statuscreate.go index 13aa5d173..3b2ee1e05 100644 --- a/internal/api/client/status/statuscreate.go +++ b/internal/api/client/status/statuscreate.go @@ -124,8 +124,8 @@ func validateCreateStatus(form *model.AdvancedStatusCreateForm) error { maxCwChars := config.GetStatusesCWMaxChars() if form.Status != "" { - if len(form.Status) > maxChars { - return fmt.Errorf("status too long, %d characters provided but limit is %d", len(form.Status), maxChars) + if length := len([]rune(form.Status)); length > maxChars { + return fmt.Errorf("status too long, %d characters provided but limit is %d", length, maxChars) } } @@ -141,15 +141,15 @@ func validateCreateStatus(form *model.AdvancedStatusCreateForm) error { return fmt.Errorf("too many poll options provided, %d provided but limit is %d", len(form.Poll.Options), maxPollOptions) } for _, p := range form.Poll.Options { - if len(p) > maxPollChars { - return fmt.Errorf("poll option too long, %d characters provided but limit is %d", len(p), maxPollChars) + if length := len([]rune(p)); length > maxPollChars { + return fmt.Errorf("poll option too long, %d characters provided but limit is %d", length, maxPollChars) } } } if form.SpoilerText != "" { - if len(form.SpoilerText) > maxCwChars { - return fmt.Errorf("content-warning/spoilertext too long, %d characters provided but limit is %d", len(form.SpoilerText), maxCwChars) + if length := len([]rune(form.SpoilerText)); length > maxCwChars { + return fmt.Errorf("content-warning/spoilertext too long, %d characters provided but limit is %d", length, maxCwChars) } } -- cgit v1.2.3