diff --git a/td/telegram/HashtagHints.cpp b/td/telegram/HashtagHints.cpp index 3880e95c9..d2eccd076 100644 --- a/td/telegram/HashtagHints.cpp +++ b/td/telegram/HashtagHints.cpp @@ -13,6 +13,7 @@ #include "td/utils/logging.h" #include "td/utils/tl_helpers.h" +#include "td/utils/utf8.h" #include @@ -73,6 +74,11 @@ string HashtagHints::get_key() const { } void HashtagHints::hashtag_used_impl(const string &hashtag) { + if (!check_utf8(hashtag)) { + LOG(ERROR) << "Trying to add invalid UTF-8 hashtag \"" << hashtag << '"'; + return; + } + // TODO: may be it should be optimized a little auto key = std::hash()(hashtag); hints_.add(key, hashtag); @@ -87,7 +93,7 @@ void HashtagHints::from_db(Result data, bool dummy) { std::vector hashtags; auto status = unserialize(hashtags, data.ok()); if (status.is_error()) { - LOG(ERROR) << status; + LOG(ERROR) << "Failed to unserialize hashtag hints: " << status; return; }