From 11c0fcc6ec698b0ec23dd82cb39c6bc912808c27 Mon Sep 17 00:00:00 2001 From: levlam Date: Thu, 1 Aug 2019 03:58:49 +0300 Subject: [PATCH] Do not create documents without file_id. GitOrigin-RevId: c208baf37b108ffb256c3a39dee0459fc081f017 --- td/telegram/AnimationsManager.cpp | 1 + td/telegram/AnimationsManager.hpp | 3 +++ td/telegram/AudiosManager.cpp | 1 + td/telegram/AudiosManager.hpp | 3 +++ td/telegram/DocumentsManager.cpp | 1 + td/telegram/DocumentsManager.hpp | 3 +++ td/telegram/PollManager.hpp | 3 +++ td/telegram/StickersManager.cpp | 1 + td/telegram/StickersManager.hpp | 3 +++ td/telegram/VideoNotesManager.cpp | 1 + td/telegram/VideoNotesManager.hpp | 3 +++ td/telegram/VideosManager.cpp | 1 + td/telegram/VideosManager.hpp | 3 +++ td/telegram/VoiceNotesManager.cpp | 1 + td/telegram/VoiceNotesManager.hpp | 3 +++ 15 files changed, 31 insertions(+) diff --git a/td/telegram/AnimationsManager.cpp b/td/telegram/AnimationsManager.cpp index 119606e5..fb0aa1fa 100644 --- a/td/telegram/AnimationsManager.cpp +++ b/td/telegram/AnimationsManager.cpp @@ -169,6 +169,7 @@ tl_object_ptr AnimationsManager::get_animation_object(FileId FileId AnimationsManager::on_get_animation(unique_ptr new_animation, bool replace) { auto file_id = new_animation->file_id; + CHECK(file_id.is_valid()); auto &a = animations_[file_id]; LOG(INFO) << (a == nullptr ? "Add" : (replace ? "Replace" : "Ignore")) << " animation " << file_id << " of size " << new_animation->dimensions; diff --git a/td/telegram/AnimationsManager.hpp b/td/telegram/AnimationsManager.hpp index 204f844e..0853a330 100644 --- a/td/telegram/AnimationsManager.hpp +++ b/td/telegram/AnimationsManager.hpp @@ -45,6 +45,9 @@ FileId AnimationsManager::parse_animation(ParserT &parser) { } parse(animation->thumbnail, parser); parse(animation->file_id, parser); + if (parser.get_error() != nullptr || !animation->file_id.is_valid()) { + return FileId(); + } return on_get_animation(std::move(animation), false); } diff --git a/td/telegram/AudiosManager.cpp b/td/telegram/AudiosManager.cpp index 7471436f..acb45a69 100644 --- a/td/telegram/AudiosManager.cpp +++ b/td/telegram/AudiosManager.cpp @@ -44,6 +44,7 @@ tl_object_ptr AudiosManager::get_audio_object(FileId file_id) { FileId AudiosManager::on_get_audio(unique_ptr