Fix invalid blurhash handling in Create activity (#16583)

This commit is contained in:
Takeshi Umeda 2021-08-09 20:33:19 +09:00 committed by GitHub
parent 590e1578bf
commit 709876bd6c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -446,10 +446,14 @@ class ActivityPub::Activity::Create < ActivityPub::Activity
end end
def supported_blurhash?(blurhash) def supported_blurhash?(blurhash)
components = blurhash.blank? ? nil : Blurhash.components(blurhash) components = blurhash.blank? || !blurhash_valid_chars?(blurhash) ? nil : Blurhash.components(blurhash)
components.present? && components.none? { |comp| comp > 5 } components.present? && components.none? { |comp| comp > 5 }
end end
def blurhash_valid_chars?(blurhash)
/^[\w#$%*+-.:;=?@\[\]^{|}~]+$/.match?(blurhash)
end
def skip_download? def skip_download?
return @skip_download if defined?(@skip_download) return @skip_download if defined?(@skip_download)