diff options
Diffstat (limited to 'td/telegram/MessageContent.cpp')
| -rw-r--r-- | td/telegram/MessageContent.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/td/telegram/MessageContent.cpp b/td/telegram/MessageContent.cpp index ac84aef2a..63c82c392 100644 --- a/td/telegram/MessageContent.cpp +++ b/td/telegram/MessageContent.cpp @@ -5093,10 +5093,14 @@ Result<InputMessageContent> get_input_message_content( } case td_api::inputMessageDocument::ID: { auto input_message = static_cast<td_api::inputMessageDocument *>(input_message_content.get()); - file_type = input_message->disable_content_type_detection_ ? FileType::DocumentAsFile : FileType::Document; - input_file = std::move(input_message->document_); + auto *document = input_message->document_.get(); + if (document == nullptr) { + return Status::Error(400, "Document must be non-empty"); + } + file_type = document->disable_content_type_detection_ ? FileType::DocumentAsFile : FileType::Document; + input_file = std::move(document->document_); allow_get_by_hash = true; - input_thumbnail = std::move(input_message->thumbnail_); + input_thumbnail = std::move(document->thumbnail_); break; } case td_api::inputMessagePhoto::ID: { @@ -5201,9 +5205,7 @@ Result<unique_ptr<MessageContent>> get_input_poll_media(DialogId dialog_id, } case td_api::inputPollMediaDocument::ID: { auto content = td_api::move_object_as<td_api::inputPollMediaDocument>(input_poll_media); - return td_api::make_object<td_api::inputMessageDocument>(std::move(content->document_), - std::move(content->thumbnail_), - content->disable_content_type_detection_, nullptr); + return td_api::make_object<td_api::inputMessageDocument>(std::move(content->document_), nullptr); } case td_api::inputPollMediaLocation::ID: { auto content = td_api::move_object_as<td_api::inputPollMediaLocation>(input_poll_media); |
