Return parse error if invalid sticker set identifier is found in the database.

This commit is contained in:
levlam 2023-03-08 13:45:44 +03:00
parent 1af9e9fed1
commit 3b83d77b2d

View File

@ -291,7 +291,9 @@ void StickersManager::parse_sticker_set(StickerSet *sticker_set, ParserT &parser
int64 access_hash;
parse(sticker_set_id, parser);
parse(access_hash, parser);
CHECK(sticker_set->id_.get() == sticker_set_id);
if (sticker_set->id_.get() != sticker_set_id) {
return parser.set_error("Invalid sticker set data stored in the database");
}
(void)access_hash; // unused, because only known sticker sets with access hash can be loaded from database
StickerFormat sticker_format = StickerFormat::Unknown;