From a7bd57a7938437bb6f6d7784796b1334483cae0d Mon Sep 17 00:00:00 2001 From: levlam Date: Mon, 25 Apr 2022 17:33:31 +0300 Subject: [PATCH] Add checks for file_id/file_node_id overflow. --- td/telegram/files/FileManager.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/td/telegram/files/FileManager.cpp b/td/telegram/files/FileManager.cpp index 29a3fbe06..c1416726a 100644 --- a/td/telegram/files/FileManager.cpp +++ b/td/telegram/files/FileManager.cpp @@ -3385,13 +3385,14 @@ FileId FileManager::next_file_id() { empty_file_ids_.pop_back(); return FileId{res, 0}; } + CHECK(file_id_info_.size() <= static_cast(std::numeric_limits::max())); FileId res(static_cast(file_id_info_.size()), 0); - // LOG(ERROR) << "NEXT file_id " << res; file_id_info_.push_back({}); return res; } FileManager::FileNodeId FileManager::next_file_node_id() { + CHECK(file_nodes_.size() <= static_cast(std::numeric_limits::max())); auto res = static_cast(file_nodes_.size()); file_nodes_.emplace_back(nullptr); return res;