From 66c604f2d4383e69073ba029d418d6fa2902c489 Mon Sep 17 00:00:00 2001 From: Arseny Smirnov Date: Wed, 27 Feb 2019 18:08:24 +0300 Subject: [PATCH] FileMananger: do not store file reference is persistent file id GitOrigin-RevId: 6da317bcac575ed4398a8971229250c0948ee097 --- td/telegram/files/FileLocation.h | 3 +++ td/telegram/files/FileManager.cpp | 4 +++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/td/telegram/files/FileLocation.h b/td/telegram/files/FileLocation.h index 7d188e0a..89400fd2 100644 --- a/td/telegram/files/FileLocation.h +++ b/td/telegram/files/FileLocation.h @@ -393,6 +393,9 @@ class FullRemoteFileLocation { return 0; } } + void clear_file_reference() { + file_reference_ = ""; + } bool delete_file_reference(Slice bad_file_reference) { auto res = FileReferenceView(file_reference_).delete_file_reference(bad_file_reference); diff --git a/td/telegram/files/FileManager.cpp b/td/telegram/files/FileManager.cpp index 5ce8b2f4..f08a0393 100644 --- a/td/telegram/files/FileManager.cpp +++ b/td/telegram/files/FileManager.cpp @@ -2435,7 +2435,9 @@ string FileManager::get_persistent_id(const FullGenerateFileLocation &location) return base64url_encode(binary); } string FileManager::get_persistent_id(const FullRemoteFileLocation &location) { - auto binary = serialize(location); + auto location_copy = location; + location_copy.clear_file_reference(); + auto binary = serialize(location_copy); binary = zero_encode(binary); binary.push_back(PERSISTENT_ID_VERSION);