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/media/mediacreate.go | 4 ++-- internal/api/client/media/mediaupdate.go | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'internal/api/client/media') diff --git a/internal/api/client/media/mediacreate.go b/internal/api/client/media/mediacreate.go index 62f4a0d4e..dcaba5d5b 100644 --- a/internal/api/client/media/mediacreate.go +++ b/internal/api/client/media/mediacreate.go @@ -163,8 +163,8 @@ func validateCreateMedia(form *model.AttachmentRequest) error { return fmt.Errorf("file size limit exceeded: limit is %d bytes but attachment was %d bytes", maxSize, form.File.Size) } - if len(form.Description) > maxDescriptionChars { - return fmt.Errorf("image description length must be between %d and %d characters (inclusive), but provided image description was %d chars", minDescriptionChars, maxDescriptionChars, len(form.Description)) + if length := len([]rune(form.Description)); length > maxDescriptionChars { + return fmt.Errorf("image description length must be between %d and %d characters (inclusive), but provided image description was %d chars", minDescriptionChars, maxDescriptionChars, length) } return nil diff --git a/internal/api/client/media/mediaupdate.go b/internal/api/client/media/mediaupdate.go index fb0e67ddc..438eaca23 100644 --- a/internal/api/client/media/mediaupdate.go +++ b/internal/api/client/media/mediaupdate.go @@ -142,8 +142,8 @@ func validateUpdateMedia(form *model.AttachmentUpdateRequest) error { maxDescriptionChars := config.GetMediaDescriptionMaxChars() if form.Description != nil { - if len(*form.Description) < minDescriptionChars || len(*form.Description) > maxDescriptionChars { - return fmt.Errorf("image description length must be between %d and %d characters (inclusive), but provided image description was %d chars", minDescriptionChars, maxDescriptionChars, len(*form.Description)) + if length := len([]rune(*form.Description)); length < minDescriptionChars || length > maxDescriptionChars { + return fmt.Errorf("image description length must be between %d and %d characters (inclusive), but provided image description was %d chars", minDescriptionChars, maxDescriptionChars, length) } } -- cgit v1.3