Flawfinder version 2.0.10, (C) 2001-2019 David A. Wheeler.
Number of rules (primarily dangerous function names) in C/C++ ruleset: 223
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/packer.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/packer.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_linux.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_win.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/api/api_bot.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/api/api_bot.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/api/api_chat_filters.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/api/api_chat_filters.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/api/api_chat_invite.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/api/api_chat_invite.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/api/api_common.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/api/api_editing.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/api/api_editing.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/api/api_global_privacy.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/api/api_global_privacy.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/api/api_hash.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/api/api_hash.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/api/api_media.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/api/api_media.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/api/api_self_destruct.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/api/api_self_destruct.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/api/api_send_progress.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/api/api_send_progress.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/api/api_sending.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/api/api_sending.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/api/api_sensitive_content.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/api/api_sensitive_content.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/api/api_single_message_search.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/api/api_single_message_search.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/api/api_text_entities.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/api/api_text_entities.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/api/api_updates.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/api/api_updates.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/apiwrap.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/apiwrap.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/app.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/app.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/about_box.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/about_box.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/abstract_box.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/abstract_box.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/add_contact_box.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/add_contact_box.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/auto_download_box.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/auto_download_box.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/auto_lock_box.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/auto_lock_box.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/background_box.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/background_box.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/background_preview_box.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/background_preview_box.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/calendar_box.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/calendar_box.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/change_phone_box.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/change_phone_box.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/confirm_box.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/confirm_box.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/confirm_phone_box.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/confirm_phone_box.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/connection_box.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/connection_box.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/create_poll_box.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/create_poll_box.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/dictionaries_manager.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/dictionaries_manager.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/download_path_box.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/download_path_box.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/edit_caption_box.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/edit_caption_box.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/edit_color_box.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/edit_color_box.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/edit_privacy_box.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/edit_privacy_box.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/filters/edit_filter_box.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/filters/edit_filter_box.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/filters/edit_filter_chats_list.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/filters/edit_filter_chats_list.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/language_box.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/language_box.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/local_storage_box.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/local_storage_box.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/mute_settings_box.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/mute_settings_box.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/passcode_box.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/passcode_box.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/peer_list_box.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/peer_list_box.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/peer_list_controllers.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/peer_list_controllers.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/peers/add_participants_box.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/peers/add_participants_box.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/peers/edit_contact_box.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/peers/edit_contact_box.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/peers/edit_linked_chat_box.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/peers/edit_linked_chat_box.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/peers/edit_participant_box.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/peers/edit_participant_box.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/peers/edit_participants_box.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/peers/edit_participants_box.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/peers/edit_peer_history_visibility_box.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/peers/edit_peer_history_visibility_box.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/peers/edit_peer_info_box.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/peers/edit_peer_info_box.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/peers/edit_peer_permissions_box.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/peers/edit_peer_permissions_box.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/peers/edit_peer_type_box.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/peers/edit_peer_type_box.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/photo_crop_box.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/photo_crop_box.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/rate_call_box.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/rate_call_box.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/report_box.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/report_box.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/self_destruction_box.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/self_destruction_box.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/send_files_box.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/send_files_box.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/sessions_box.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/sessions_box.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/share_box.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/share_box.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/single_choice_box.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/single_choice_box.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/sticker_set_box.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/sticker_set_box.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/stickers_box.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/stickers_box.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/url_auth_box.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/url_auth_box.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/username_box.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/username_box.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/calls/calls_box_controller.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/calls/calls_box_controller.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/calls/calls_call.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/calls/calls_call.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/calls/calls_controller.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/calls/calls_controller.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/calls/calls_controller_tgvoip.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/calls/calls_emoji_fingerprint.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/calls/calls_emoji_fingerprint.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/calls/calls_instance.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/calls/calls_instance.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/calls/calls_panel.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/calls/calls_panel.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/calls/calls_top_bar.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/calls/calls_top_bar.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/chat_helpers/bot_keyboard.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/chat_helpers/bot_keyboard.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/chat_helpers/emoji_keywords.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/chat_helpers/emoji_keywords.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/chat_helpers/emoji_list_widget.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/chat_helpers/emoji_list_widget.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/chat_helpers/emoji_sets_manager.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/chat_helpers/emoji_sets_manager.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/chat_helpers/emoji_suggestions_widget.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/chat_helpers/emoji_suggestions_widget.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/chat_helpers/field_autocomplete.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/chat_helpers/field_autocomplete.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/chat_helpers/gifs_list_widget.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/chat_helpers/gifs_list_widget.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/chat_helpers/message_field.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/chat_helpers/message_field.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/chat_helpers/spellchecker_common.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/chat_helpers/spellchecker_common.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/chat_helpers/stickers_dice_pack.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/chat_helpers/stickers_dice_pack.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/chat_helpers/stickers_emoji_image_loader.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/chat_helpers/stickers_emoji_image_loader.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/chat_helpers/stickers_emoji_pack.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/chat_helpers/stickers_emoji_pack.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/chat_helpers/stickers_list_widget.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/chat_helpers/stickers_list_widget.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/chat_helpers/stickers_lottie.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/chat_helpers/stickers_lottie.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/chat_helpers/tabbed_panel.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/chat_helpers/tabbed_section.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/chat_helpers/tabbed_section.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/chat_helpers/tabbed_selector.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/chat_helpers/tabbed_selector.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/chat_helpers/tabbed_panel.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/config.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/application.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/base_integration.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/base_integration.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/changelogs.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/changelogs.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/click_handler_types.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/click_handler_types.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/core_cloud_password.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/core_cloud_password.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/core_settings.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/core_settings.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/crash_report_window.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/crash_report_window.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/crash_reports.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/crash_reports.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/launcher.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/local_url_handlers.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/local_url_handlers.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/mime_type.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/mime_type.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/sandbox.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/sandbox.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/shortcuts.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/shortcuts.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/ui_integration.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/ui_integration.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/update_checker.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/update_checker.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/utils.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/utils.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/version.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/application.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/file_utilities.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/file_utilities.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/launcher.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_abstract_structure.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_abstract_structure.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_auto_download.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_auto_download.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_changes.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_changes.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_channel.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_channel.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_channel_admins.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_channel_admins.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_chat.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_chat.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_chat_filters.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_chat_filters.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_cloud_file.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_cloud_file.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_cloud_themes.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_cloud_themes.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_countries.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_countries.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_document.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_document.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_document_media.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_document_media.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_drafts.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_drafts.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_feed_messages.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_feed_messages.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_file_origin.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_file_origin.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_flags.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_folder.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_folder.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_game.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_groups.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_groups.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_histories.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_histories.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_location.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_location.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_media_rotation.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_media_rotation.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_media_types.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_media_types.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_messages.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_messages.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_notify_settings.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_notify_settings.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_peer.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_peer.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_peer_values.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_peer_values.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_photo.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_photo.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_photo_media.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_photo_media.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_poll.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_poll.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_pts_waiter.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_pts_waiter.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_reply_preview.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_reply_preview.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_scheduled_messages.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_scheduled_messages.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_search_controller.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_search_controller.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_session.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_session.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_shared_media.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_shared_media.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_sparse_ids.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_sparse_ids.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_streaming.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_streaming.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_types.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_types.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_user.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_user.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_user_photos.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_user_photos.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_wall_paper.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_wall_paper.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_web_page.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_web_page.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/stickers/data_stickers.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/stickers/data_stickers.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/stickers/data_stickers_set.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/stickers/data_stickers_set.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/dialogs/dialogs_entry.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/dialogs/dialogs_entry.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/dialogs/dialogs_indexed_list.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/dialogs/dialogs_indexed_list.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/dialogs/dialogs_inner_widget.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/dialogs/dialogs_inner_widget.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/dialogs/dialogs_key.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/dialogs/dialogs_key.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/dialogs/dialogs_layout.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/dialogs/dialogs_layout.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/dialogs/dialogs_list.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/dialogs/dialogs_list.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/dialogs/dialogs_main_list.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/dialogs/dialogs_main_list.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/dialogs/dialogs_pinned_list.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/dialogs/dialogs_pinned_list.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/dialogs/dialogs_row.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/dialogs/dialogs_row.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/dialogs/dialogs_search_from_controllers.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/dialogs/dialogs_search_from_controllers.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/dialogs/dialogs_widget.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/dialogs/dialogs_widget.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/export/data/export_data_types.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/export/data/export_data_types.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/export/export_api_wrap.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/export/export_api_wrap.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/export/export_controller.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/export/export_controller.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/export/export_manager.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/export/export_manager.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/export/export_pch.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/export/export_pch.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/export/export_settings.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/export/export_settings.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/export/output/export_output_abstract.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/export/output/export_output_abstract.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/export/output/export_output_file.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/export/output/export_output_file.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/export/output/export_output_html.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/export/output/export_output_html.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/export/output/export_output_json.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/export/output/export_output_json.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/export/output/export_output_result.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/export/output/export_output_stats.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/export/output/export_output_stats.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/export/output/export_output_text.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/export/output/export_output_text.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/export/view/export_view_content.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/export/view/export_view_content.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/export/view/export_view_panel_controller.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/export/view/export_view_panel_controller.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/export/view/export_view_progress.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/export/view/export_view_progress.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/export/view/export_view_settings.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/export/view/export_view_settings.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/export/view/export_view_top_bar.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/export/view/export_view_top_bar.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/facades.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/facades.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ffmpeg/ffmpeg_utility.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ffmpeg/ffmpeg_utility.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/admin_log/history_admin_log_filter.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/admin_log/history_admin_log_filter.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/admin_log/history_admin_log_inner.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/admin_log/history_admin_log_inner.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/admin_log/history_admin_log_item.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/admin_log/history_admin_log_item.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/admin_log/history_admin_log_section.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/admin_log/history_admin_log_section.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/feed/history_feed_section.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/feed/history_feed_section.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/history.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/history.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/history_drag_area.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/history_drag_area.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/history_inner_widget.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/history_inner_widget.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/history_item.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/history_item.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/history_item_components.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/history_item_components.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/history_item_text.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/history_item_text.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/history_location_manager.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/history_location_manager.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/history_message.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/history_message.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/history_service.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/history_service.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/history_widget.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/history_view_compose_controls.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/history_view_contact_status.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/history_view_contact_status.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/history_view_context_menu.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/history_view_context_menu.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/history_view_cursor_state.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/history_view_cursor_state.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/history_view_element.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/history_view_element.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/history_view_list_widget.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/history_view_list_widget.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/history_view_message.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/history_view_message.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/history_view_object.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/history_view_schedule_box.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/history_view_schedule_box.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/history_view_scheduled_section.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/history_view_scheduled_section.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/history_view_service_message.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/history_view_service_message.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/history_view_top_bar_widget.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/history_view_top_bar_widget.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/history_view_webpage_preview.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/history_view_webpage_preview.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/media/history_view_call.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/media/history_view_call.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/media/history_view_contact.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/media/history_view_contact.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/media/history_view_dice.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/media/history_view_dice.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/media/history_view_document.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/media/history_view_document.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/media/history_view_file.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/media/history_view_file.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/media/history_view_game.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/media/history_view_game.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/media/history_view_gif.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/media/history_view_gif.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/media/history_view_invoice.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/media/history_view_invoice.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/media/history_view_large_emoji.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/media/history_view_large_emoji.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/media/history_view_location.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/media/history_view_location.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/media/history_view_media.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/media/history_view_media.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/media/history_view_media_common.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/media/history_view_media_common.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/media/history_view_media_grouped.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/media/history_view_media_grouped.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/media/history_view_media_unwrapped.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/media/history_view_media_unwrapped.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/media/history_view_photo.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/media/history_view_photo.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/media/history_view_poll.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/media/history_view_poll.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/media/history_view_sticker.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/media/history_view_sticker.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/media/history_view_theme_document.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/media/history_view_theme_document.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/media/history_view_web_page.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/media/history_view_web_page.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/history_view_compose_controls.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/history_widget.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/channels/info_channels_widget.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/channels/info_channels_widget.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/common_groups/info_common_groups_inner_widget.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/common_groups/info_common_groups_inner_widget.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/common_groups/info_common_groups_widget.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/common_groups/info_common_groups_widget.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/feed/info_feed_channels.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/feed/info_feed_channels.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/feed/info_feed_channels_controllers.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/feed/info_feed_channels_controllers.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/feed/info_feed_channels_widget.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/feed/info_feed_channels_widget.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/feed/info_feed_cover.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/feed/info_feed_cover.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/feed/info_feed_profile_inner_widget.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/feed/info_feed_profile_inner_widget.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/feed/info_feed_profile_widget.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/feed/info_feed_profile_widget.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/info_content_widget.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/info_content_widget.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/info_controller.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/info_controller.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/info_layer_widget.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/info_layer_widget.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/info_memento.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/info_memento.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/info_section_widget.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/info_section_widget.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/info_top_bar.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/info_top_bar.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/info_wrap_widget.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/info_wrap_widget.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/media/info_media_buttons.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/media/info_media_empty_widget.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/media/info_media_empty_widget.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/media/info_media_inner_widget.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/media/info_media_inner_widget.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/media/info_media_list_widget.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/media/info_media_list_widget.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/media/info_media_widget.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/media/info_media_widget.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/members/info_members_widget.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/members/info_members_widget.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/polls/info_polls_results_inner_widget.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/polls/info_polls_results_inner_widget.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/polls/info_polls_results_widget.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/polls/info_polls_results_widget.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/profile/info_profile_actions.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/profile/info_profile_actions.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/profile/info_profile_cover.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/profile/info_profile_cover.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/profile/info_profile_icon.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/profile/info_profile_icon.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/profile/info_profile_inner_widget.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/profile/info_profile_inner_widget.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/profile/info_profile_members.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/profile/info_profile_members.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/profile/info_profile_members_controllers.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/profile/info_profile_members_controllers.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/profile/info_profile_text.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/profile/info_profile_text.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/profile/info_profile_values.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/profile/info_profile_values.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/profile/info_profile_widget.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/profile/info_profile_widget.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/settings/info_settings_widget.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/info/settings/info_settings_widget.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/inline_bots/inline_bot_layout_internal.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/inline_bots/inline_bot_layout_internal.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/inline_bots/inline_bot_layout_item.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/inline_bots/inline_bot_layout_item.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/inline_bots/inline_bot_result.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/inline_bots/inline_bot_result.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/inline_bots/inline_bot_send_data.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/inline_bots/inline_bot_send_data.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/inline_bots/inline_results_widget.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/inline_bots/inline_results_widget.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/intro/intro_code.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/intro/intro_code.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/intro/intro_password_check.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/intro/intro_password_check.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/intro/intro_phone.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/intro/intro_phone.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/intro/intro_qr.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/intro/intro_qr.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/intro/intro_signup.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/intro/intro_signup.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/intro/intro_start.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/intro/intro_start.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/intro/intro_step.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/intro/intro_step.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/intro/intro_widget.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/intro/intro_widget.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/lang/lang_cloud_manager.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/lang/lang_cloud_manager.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/lang/lang_file_parser.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/lang/lang_file_parser.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/lang/lang_hardcoded.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/lang/lang_instance.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/lang/lang_instance.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/lang/lang_keys.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/lang/lang_keys.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/lang/lang_numbers_animation.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/lang/lang_numbers_animation.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/lang/lang_tag.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/lang/lang_tag.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/lang/lang_text_entity.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/lang/lang_text_entity.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/lang/lang_translator.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/lang/lang_translator.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/lang/lang_values.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/lang/lang_values.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/layout.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/layout.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/logs.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/logs.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/main.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/main/main_account.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/main/main_account.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/main/main_app_config.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/main/main_app_config.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/main/main_domain.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/main/main_domain.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/main/main_session.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/main/main_session.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/main/main_session_settings.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/main/main_session_settings.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mainwidget.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mainwidget.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mainwindow.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mainwindow.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/audio/media_audio.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/audio/media_audio.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/audio/media_audio_capture.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/audio/media_audio_capture.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/audio/media_audio_ffmpeg_loader.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/audio/media_audio_ffmpeg_loader.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/audio/media_audio_loader.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/audio/media_audio_loader.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/audio/media_audio_loaders.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/audio/media_audio_loaders.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/audio/media_audio_track.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/audio/media_audio_track.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/audio/media_child_ffmpeg_loader.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/audio/media_child_ffmpeg_loader.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/audio/media_openal_functions.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/audio/media_openal_functions.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/clip/media_clip_check_streaming.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/clip/media_clip_check_streaming.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/clip/media_clip_ffmpeg.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/clip/media_clip_ffmpeg.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/clip/media_clip_implementation.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/clip/media_clip_implementation.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/clip/media_clip_reader.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/clip/media_clip_reader.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/player/media_player_button.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/player/media_player_button.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/player/media_player_float.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/player/media_player_float.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/player/media_player_instance.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/player/media_player_instance.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/player/media_player_panel.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/player/media_player_panel.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/player/media_player_volume_controller.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/player/media_player_volume_controller.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/player/media_player_widget.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/player/media_player_widget.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/streaming/media_streaming_audio_track.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/streaming/media_streaming_audio_track.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/streaming/media_streaming_common.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/streaming/media_streaming_document.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/streaming/media_streaming_document.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/streaming/media_streaming_file.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/streaming/media_streaming_file.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/streaming/media_streaming_file_delegate.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/streaming/media_streaming_instance.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/streaming/media_streaming_instance.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/streaming/media_streaming_loader.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/streaming/media_streaming_loader.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/streaming/media_streaming_loader_local.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/streaming/media_streaming_loader_local.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/streaming/media_streaming_loader_mtproto.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/streaming/media_streaming_loader_mtproto.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/streaming/media_streaming_player.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/streaming/media_streaming_player.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/streaming/media_streaming_reader.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/streaming/media_streaming_reader.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/streaming/media_streaming_utility.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/streaming/media_streaming_utility.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/streaming/media_streaming_video_track.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/streaming/media_streaming_video_track.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/view/media_view_group_thumbs.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/view/media_view_group_thumbs.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/view/media_view_overlay_widget.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/view/media_view_pip.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/view/media_view_pip.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/view/media_view_playback_controls.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/view/media_view_playback_controls.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/view/media_view_playback_progress.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/view/media_view_playback_progress.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/view/media_view_overlay_widget.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/config_loader.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/config_loader.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/connection_abstract.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/connection_abstract.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/connection_http.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/connection_http.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/connection_resolving.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/connection_resolving.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/connection_tcp.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/connection_tcp.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/core_types.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/dedicated_file_loader.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/dedicated_file_loader.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/details/mtproto_abstract_socket.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/details/mtproto_abstract_socket.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/details/mtproto_bound_key_creator.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/details/mtproto_bound_key_creator.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/details/mtproto_dc_key_binder.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/details/mtproto_dc_key_binder.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/details/mtproto_dc_key_creator.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/details/mtproto_dc_key_creator.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/details/mtproto_dcenter.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/details/mtproto_dcenter.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/details/mtproto_domain_resolver.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/details/mtproto_domain_resolver.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/details/mtproto_dump_to_text.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/details/mtproto_dump_to_text.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/details/mtproto_received_ids_manager.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/details/mtproto_received_ids_manager.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/details/mtproto_rsa_public_key.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/details/mtproto_rsa_public_key.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/details/mtproto_serialized_request.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/details/mtproto_serialized_request.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/details/mtproto_tcp_socket.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/details/mtproto_tcp_socket.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/details/mtproto_tls_socket.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/details/mtproto_tls_socket.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/facade.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/facade.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtp_instance.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtp_instance.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_auth_key.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_auth_key.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_concurrent_sender.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_concurrent_sender.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_config.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_config.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_dc_options.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_dc_options.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_dh_utils.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_dh_utils.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_pch.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_pch.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_proxy_data.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_proxy_data.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_rpc_sender.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_rpc_sender.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/sender.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/session.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/session.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/session_private.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/session_private.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/special_config_request.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/special_config_request.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/type_utils.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/overview/overview_layout.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/overview/overview_layout.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/overview/overview_layout_delegate.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/passport/passport_edit_identity_box.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/passport/passport_edit_identity_box.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/passport/passport_encryption.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/passport/passport_encryption.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/passport/passport_form_controller.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/passport/passport_form_controller.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/passport/passport_form_row.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/passport/passport_form_row.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/passport/passport_form_view_controller.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/passport/passport_form_view_controller.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/passport/passport_panel.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/passport/passport_panel.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/passport/passport_panel_controller.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/passport/passport_panel_controller.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/passport/passport_panel_details_row.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/passport/passport_panel_details_row.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/passport/passport_panel_edit_contact.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/passport/passport_panel_edit_contact.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/passport/passport_panel_edit_document.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/passport/passport_panel_edit_document.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/passport/passport_panel_edit_scans.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/passport/passport_panel_edit_scans.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/passport/passport_panel_form.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/passport/passport_panel_form.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/passport/passport_panel_password.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/passport/passport_panel_password.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/linux/file_utilities_linux.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/linux/file_utilities_linux.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/linux/launcher_linux.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/linux/launcher_linux.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/linux/linux_desktop_environment.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/linux/linux_desktop_environment.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/linux/linux_gdk_helper.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/linux/linux_gdk_helper.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/linux/linux_glibc_wraps.c
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/linux/linux_glibc_wraps_32.c
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/linux/linux_glibc_wraps_64.c
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/linux/linux_libs.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/linux/linux_libs.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/linux/linux_xlib_helper.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/linux/linux_xlib_helper.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/linux/main_window_linux.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/linux/main_window_linux.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/linux/notifications_manager_linux.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/linux/notifications_manager_linux.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/linux/specific_linux.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/linux/window_title_linux.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/linux/specific_linux.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/mac/file_utilities_mac.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/mac/launcher_mac.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/mac/mac_iconv_helper.c
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/mac/main_window_mac.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/mac/notifications_manager_mac.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/mac/specific_mac.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/mac/specific_mac_p.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/mac/touchbar/items/mac_formatter_item.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/mac/touchbar/items/mac_pinned_chats_item.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/mac/touchbar/items/mac_scrubber_item.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/mac/touchbar/mac_touchbar_audio.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/mac/touchbar/mac_touchbar_common.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/mac/touchbar/mac_touchbar_controls.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/mac/touchbar/mac_touchbar_main.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/mac/touchbar/mac_touchbar_manager.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/mac/touchbar/mac_touchbar_media_view.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/mac/window_title_mac.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/platform_audio.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/platform_file_utilities.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/platform_launcher.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/platform_main_window.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/platform_notifications_manager.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/platform_specific.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/platform_window_title.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/win/audio_win.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/win/audio_win.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/win/file_utilities_win.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/win/file_utilities_win.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/win/launcher_win.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/win/launcher_win.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/win/main_window_win.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/win/main_window_win.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/win/notifications_manager_win.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/win/notifications_manager_win.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/win/specific_win.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/win/specific_win.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/win/window_title_win.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/win/window_title_win.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/win/windows_app_user_model_id.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/win/windows_app_user_model_id.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/win/windows_dlls.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/win/windows_dlls.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/win/windows_event_filter.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/win/windows_event_filter.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/win/wrapper_wrl_implements_h.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/profile/profile_back_button.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/profile/profile_back_button.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/profile/profile_block_group_members.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/profile/profile_block_group_members.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/profile/profile_block_peer_list.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/profile/profile_block_peer_list.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/profile/profile_block_widget.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/profile/profile_block_widget.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/profile/profile_cover_drop_area.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/profile/profile_cover_drop_area.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/qt_static_plugins.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/settings/settings_advanced.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/settings/settings_advanced.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/settings/settings_calls.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/settings/settings_calls.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/settings/settings_chat.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/settings/settings_chat.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/settings/settings_codes.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/settings/settings_codes.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/settings/settings_common.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/settings/settings_common.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/settings/settings_folders.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/settings/settings_folders.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/settings/settings_information.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/settings/settings_information.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/settings/settings_intro.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/settings/settings_intro.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/settings/settings_main.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/settings/settings_main.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/settings/settings_notifications.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/settings/settings_notifications.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/settings/settings_privacy_controllers.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/settings/settings_privacy_controllers.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/settings/settings_privacy_security.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/settings/settings_privacy_security.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/stdafx.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/stdafx.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/details/storage_file_utilities.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/details/storage_file_utilities.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/details/storage_settings_scheme.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/details/storage_settings_scheme.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/download_manager_mtproto.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/download_manager_mtproto.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/file_download.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/file_download.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/file_download_mtproto.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/file_download_mtproto.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/file_download_web.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/file_download_web.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/file_upload.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/file_upload.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/localimageloader.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/localimageloader.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/localstorage.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/localstorage.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/serialize_common.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/serialize_common.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/serialize_document.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/serialize_document.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/serialize_peer.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/serialize_peer.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/storage_account.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/storage_account.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/storage_cloud_blob.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/storage_cloud_blob.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/storage_domain.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/storage_domain.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/storage_facade.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/storage_facade.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/storage_feed_messages.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/storage_feed_messages.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/storage_file_lock.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/storage_file_lock_posix.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/storage_file_lock_win.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/storage_media_prepare.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/storage_media_prepare.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/storage_shared_media.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/storage_shared_media.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/storage_sparse_ids_list.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/storage_sparse_ids_list.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/storage_user_photos.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/storage_user_photos.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/streamed_file_downloader.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/streamed_file_downloader.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/support/support_autocomplete.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/support/support_autocomplete.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/support/support_common.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/support/support_common.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/support/support_helper.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/support/support_helper.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/support/support_templates.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/support/support_templates.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ui/countryinput.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ui/countryinput.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ui/effects/fireworks_animation.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ui/effects/fireworks_animation.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ui/effects/round_checkbox.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ui/effects/round_checkbox.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ui/effects/send_action_animations.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ui/effects/send_action_animations.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ui/empty_userpic.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ui/empty_userpic.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ui/filter_icon_panel.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ui/filter_icons.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ui/filter_icons.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ui/grouped_layout.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ui/grouped_layout.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ui/image/image.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ui/image/image.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ui/image/image_location.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ui/image/image_location.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ui/image/image_location_factory.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ui/image/image_location_factory.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ui/image/image_source.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ui/resize_area.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ui/search_field_controller.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ui/search_field_controller.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ui/special_buttons.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ui/special_buttons.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ui/special_fields.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ui/special_fields.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ui/text_options.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ui/text_options.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ui/unread_badge.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ui/unread_badge.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ui/widgets/continuous_sliders.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ui/widgets/continuous_sliders.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ui/widgets/discrete_sliders.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ui/widgets/discrete_sliders.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ui/widgets/level_meter.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ui/widgets/level_meter.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ui/widgets/multi_select.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ui/widgets/multi_select.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ui/widgets/separate_panel.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ui/widgets/separate_panel.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ui/filter_icon_panel.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/main_window.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/main_window.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/notifications_manager.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/notifications_manager.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/notifications_manager_default.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/notifications_manager_default.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/notifications_utilities.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/notifications_utilities.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/section_memento.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/section_widget.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/section_widget.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/themes/window_theme.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/themes/window_theme_editor.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/themes/window_theme_editor.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/themes/window_theme_editor_block.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/themes/window_theme_editor_block.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/themes/window_theme_editor_box.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/themes/window_theme_editor_box.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/themes/window_theme_preview.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/themes/window_theme_preview.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/themes/window_theme_warning.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/themes/window_theme_warning.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/themes/window_themes_cloud_list.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/themes/window_themes_cloud_list.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/themes/window_themes_embedded.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/themes/window_themes_embedded.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/themes/window_themes_generate_name.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/themes/window_themes_generate_name.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/themes/window_theme.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/window_connecting_widget.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/window_connecting_widget.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/window_controller.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/window_controller.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/window_controls_layout.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/window_filters_menu.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/window_filters_menu.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/window_history_hider.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/window_history_hider.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/window_lock_widgets.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/window_lock_widgets.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/window_main_menu.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/window_main_menu.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/window_media_preview.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/window_media_preview.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/window_outdated_bar.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/window_outdated_bar.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/window_peer_menu.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/window_peer_menu.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/window_session_controller.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/window_session_controller.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/window_slide_animation.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/window_slide_animation.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/window_title.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/window_title_qt.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/window_title_qt.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/window_top_bar_wrap.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/settings.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/settings.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/common/basic_tokenized_file.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/common/basic_tokenized_file.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/common/checked_utf8_string.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/common/checked_utf8_string.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/common/clean_file.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/common/clean_file.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/common/clean_file_reader.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/common/const_utf8_string.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/common/cpp_file.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/common/cpp_file.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/common/logging.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/common/logging.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/emoji/data.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/emoji/data.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/emoji/data_old.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/emoji/data_old.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/emoji/data_read.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/emoji/data_read.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/emoji/generator.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/emoji/generator.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/emoji/main.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/emoji/options.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/emoji/options.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/emoji/replaces.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/emoji/replaces.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/lang/generator.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/lang/generator.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/lang/main.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/lang/options.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/lang/options.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/lang/parsed_file.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/lang/parsed_file.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/lang/processor.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/lang/processor.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/numbers/generator.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/numbers/generator.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/numbers/main.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/numbers/options.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/numbers/options.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/numbers/parsed_file.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/numbers/parsed_file.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/numbers/processor.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/numbers/processor.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/style/generator.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/style/generator.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/style/main.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/style/module.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/style/module.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/style/options.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/style/options.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/style/parsed_file.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/style/parsed_file.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/style/processor.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/style/processor.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/style/structure_types.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/style/structure_types.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/algorithm.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/algorithm_tests.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/assertion.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/assertion.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/base_file_utilities.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/base_file_utilities.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/base_pch.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/base_pch.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/basic_types.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/binary_guard.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/build_config.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/bytes.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/call_delayed.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/call_delayed.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/concurrent_timer.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/concurrent_timer.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/const_string.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/crash_report_header.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/crash_report_header.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/crash_report_writer.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/crash_report_writer.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/crc32hash.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/crc32hash.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/enum_mask.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/event_filter.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/event_filter.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/expected.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/file_lock.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/file_lock_posix.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/file_lock_win.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/flags.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/flags_tests.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/flat_map.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/flat_map_tests.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/flat_set.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/flat_set_tests.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/functors.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/index_based_iterator.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/integration.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/integration.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/invoke_queued.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/last_used_cache.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/last_user_input.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/last_user_input.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/match_method.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/object_ptr.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/observer.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/observer.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/openssl_help.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/optional.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/ordered_set.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/overload.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/parse_helper.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/parse_helper.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/platform/base_platform_file_utilities.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/platform/base_platform_file_utilities.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/platform/base_platform_info.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/platform/base_platform_last_input.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/platform/base_platform_layout_switch.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/platform/base_platform_process.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/platform/base_platform_url_scheme.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/platform/linux/base_file_utilities_linux.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/platform/linux/base_file_utilities_linux.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/platform/linux/base_info_linux.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/platform/linux/base_info_linux.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/platform/linux/base_last_input_linux.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/platform/linux/base_last_input_linux.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/platform/linux/base_layout_switch_linux.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/platform/linux/base_layout_switch_linux.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/platform/linux/base_process_linux.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/platform/linux/base_process_linux.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/platform/linux/base_url_scheme_linux.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/platform/linux/base_url_scheme_linux.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/platform/mac/base_file_utilities_mac.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/platform/mac/base_info_mac.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/platform/mac/base_last_input_mac.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/platform/mac/base_layout_switch_mac.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/platform/mac/base_process_mac.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/platform/mac/base_url_scheme_mac.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/platform/mac/base_utilities_mac.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/platform/win/base_file_utilities_win.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/platform/win/base_file_utilities_win.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/platform/win/base_info_win.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/platform/win/base_info_win.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/platform/win/base_last_input_win.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/platform/win/base_last_input_win.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/platform/win/base_layout_switch_win.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/platform/win/base_layout_switch_win.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/platform/win/base_process_win.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/platform/win/base_process_win.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/platform/win/base_url_scheme_win.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/platform/win/base_url_scheme_win.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/platform/win/base_windows_h.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/platform/win/base_windows_safe_library.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/platform/win/base_windows_safe_library.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/qt_connection.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/qt_signal_producer.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/qthelp_regex.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/qthelp_url.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/qthelp_url.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/runtime_composer.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/runtime_composer.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/single_instance.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/single_instance.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/tests_main.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/thread_safe_wrap.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/timer.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/timer.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/timer_rpl.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/type_traits.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/unique_any.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/unique_function.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/unique_qptr.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/unixtime.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/unixtime.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/value_ordering.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/variant.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/virtual_method.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/weak_ptr.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/zlib_help.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_crl/crl/common/crl_common_config.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_crl/crl/common/crl_common_guards.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_crl/crl/common/crl_common_list.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_crl/crl/common/crl_common_list.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_crl/crl/common/crl_common_on_main.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_crl/crl/common/crl_common_on_main.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_crl/crl/common/crl_common_on_main_guarded.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_crl/crl/common/crl_common_queue.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_crl/crl/common/crl_common_queue.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_crl/crl/common/crl_common_sync.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_crl/crl/common/crl_common_utils.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_crl/crl/crl.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_crl/crl/crl_async.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_crl/crl/crl_object_on_queue.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_crl/crl/crl_on_main.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_crl/crl/crl_queue.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_crl/crl/crl_semaphore.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_crl/crl/crl_time.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_crl/crl/crl_time.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_crl/crl/dispatch/crl_dispatch_async.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_crl/crl/dispatch/crl_dispatch_async.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_crl/crl/dispatch/crl_dispatch_on_main.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_crl/crl/dispatch/crl_dispatch_queue.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_crl/crl/dispatch/crl_dispatch_queue.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_crl/crl/dispatch/crl_dispatch_semaphore.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_crl/crl/dispatch/crl_dispatch_semaphore.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_crl/crl/linux/crl_linux_time.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_crl/crl/mac/crl_mac_time.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_crl/crl/qt/crl_qt_async.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_crl/crl/qt/crl_qt_async.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_crl/crl/qt/crl_qt_guards.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_crl/crl/qt/crl_qt_semaphore.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_crl/crl/qt/crl_qt_semaphore.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_crl/crl/winapi/crl_winapi_async.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_crl/crl/winapi/crl_winapi_async.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_crl/crl/winapi/crl_winapi_dll.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_crl/crl/winapi/crl_winapi_list.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_crl/crl/winapi/crl_winapi_list.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_crl/crl/winapi/crl_winapi_semaphore.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_crl/crl/winapi/crl_winapi_semaphore.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_crl/crl/winapi/crl_winapi_time.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_crl/crl/winapi/crl_winapi_windows_h.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_lottie/lottie/lottie_animation.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_lottie/lottie/lottie_cache.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_lottie/lottie/lottie_cache.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_lottie/lottie/lottie_common.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_lottie/lottie/lottie_common.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_lottie/lottie/lottie_frame_renderer.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_lottie/lottie/lottie_frame_renderer.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_lottie/lottie/lottie_multi_player.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_lottie/lottie/lottie_multi_player.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_lottie/lottie/lottie_player.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_lottie/lottie/lottie_single_player.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_lottie/lottie/lottie_single_player.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_lottie/lottie/lottie_animation.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_qr/qr/qr_generate.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_qr/qr/qr_generate.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_rlottie/config/config.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_rpl/rpl/after_next.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_rpl/rpl/before_next.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_rpl/rpl/combine.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_rpl/rpl/combine_previous.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_rpl/rpl/complete.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_rpl/rpl/conditional.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_rpl/rpl/consumer.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_rpl/rpl/deferred.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_rpl/rpl/details/callable.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_rpl/rpl/details/superset_type.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_rpl/rpl/details/type_list.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_rpl/rpl/distinct_until_changed.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_rpl/rpl/event_stream.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_rpl/rpl/fail.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_rpl/rpl/filter.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_rpl/rpl/flatten_latest.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_rpl/rpl/lifetime.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_rpl/rpl/map.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_rpl/rpl/mappers.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_rpl/rpl/merge.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_rpl/rpl/never.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_rpl/rpl/operators_tests.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_rpl/rpl/producer.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_rpl/rpl/producer_tests.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_rpl/rpl/range.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_rpl/rpl/rpl.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_rpl/rpl/skip.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_rpl/rpl/take.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_rpl/rpl/then.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_rpl/rpl/type_erased.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_rpl/rpl/variable.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_rpl/rpl/variable_tests.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_spellcheck/spellcheck/platform/linux/linux_enchant.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_spellcheck/spellcheck/platform/linux/linux_enchant.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_spellcheck/spellcheck/platform/linux/spellcheck_linux.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_spellcheck/spellcheck/platform/linux/spellcheck_linux.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_spellcheck/spellcheck/platform/mac/spellcheck_mac.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_spellcheck/spellcheck/platform/platform_spellcheck.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_spellcheck/spellcheck/platform/win/spellcheck_win.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_spellcheck/spellcheck/platform/win/spellcheck_win.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_spellcheck/spellcheck/spellcheck_pch.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_spellcheck/spellcheck/spellcheck_pch.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_spellcheck/spellcheck/spellcheck_types.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_spellcheck/spellcheck/spellcheck_utils.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_spellcheck/spellcheck/spellcheck_utils.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_spellcheck/spellcheck/spellcheck_value.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_spellcheck/spellcheck/spellcheck_value.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_spellcheck/spellcheck/spelling_highlighter.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_spellcheck/spellcheck/spelling_highlighter.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_spellcheck/spellcheck/spelling_highlighter_helper.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_spellcheck/spellcheck/spelling_highlighter_helper.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_spellcheck/spellcheck/third_party/hunspell_controller.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_spellcheck/spellcheck/third_party/hunspell_controller.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_spellcheck/spellcheck/third_party/spellcheck_hunspell.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_spellcheck/spellcheck/third_party/spellcheck_hunspell.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/cache/storage_cache_binlog_reader.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/cache/storage_cache_binlog_reader.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/cache/storage_cache_cleaner.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/cache/storage_cache_cleaner.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/cache/storage_cache_compactor.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/cache/storage_cache_database.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/cache/storage_cache_database.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/cache/storage_cache_database_object.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/cache/storage_cache_database_object.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/cache/storage_cache_types.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/cache/storage_cache_types.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/cache/storage_encrypted_file_tests.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/cache/storage_cache_compactor.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/storage_clear_legacy.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/storage_clear_legacy.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/storage_clear_legacy_posix.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/storage_clear_legacy_win.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/storage_databases.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/storage_databases.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/storage_encrypted_file.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/storage_encrypted_file.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/storage_encryption.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/storage_encryption.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/storage_pch.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/storage_pch.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_tl/tl/tl_basic_types.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_tl/tl/tl_basic_types.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_tl/tl/tl_boxed.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_tl/tl/tl_type_owner.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/emoji_suggestions/emoji_suggestions.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/emoji_suggestions/emoji_suggestions.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/emoji_suggestions/emoji_suggestions_helper.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/abstract_button.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/abstract_button.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/basic_click_handlers.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/basic_click_handlers.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/click_handler.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/click_handler.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/delayed_activation.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/delayed_activation.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/effects/animation_value.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/effects/animation_value.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/effects/animations.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/effects/animations.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/effects/cross_animation.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/effects/cross_animation.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/effects/fade_animation.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/effects/fade_animation.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/effects/numbers_animation.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/effects/numbers_animation.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/effects/panel_animation.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/effects/panel_animation.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/effects/radial_animation.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/effects/radial_animation.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/effects/ripple_animation.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/effects/ripple_animation.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/effects/slide_animation.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/effects/slide_animation.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/emoji_config.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/emoji_config.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/focus_persister.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/image/image_prepare.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/image/image_prepare.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/inactive_press.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/inactive_press.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/integration.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/integration.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/layers/box_content.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/layers/box_content.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/layers/box_layer_widget.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/layers/box_layer_widget.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/layers/generic_box.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/layers/generic_box.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/layers/layer_manager.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/layers/layer_manager.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/layers/layer_widget.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/layers/layer_widget.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/main_queue_processor.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/main_queue_processor.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/painter.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/ph.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/ph.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/platform/linux/ui_utility_linux.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/platform/linux/ui_utility_linux.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/platform/linux/ui_window_linux.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/platform/linux/ui_window_linux.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/platform/mac/ui_utility_mac.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/platform/mac/ui_window_mac.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/platform/mac/ui_window_title_mac.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/platform/ui_platform_utility.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/platform/ui_platform_window.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/platform/win/ui_utility_win.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/platform/win/ui_utility_win.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/platform/win/ui_window_shadow_win.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/platform/win/ui_window_shadow_win.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/platform/win/ui_window_title_win.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/platform/win/ui_window_title_win.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/platform/win/ui_window_win.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/platform/win/ui_window_win.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/rect_part.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/round_rect.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/round_rect.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/rp_widget.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/rp_widget.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/style/style_core.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/style/style_core.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/style/style_core_color.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/style/style_core_color.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/style/style_core_custom_font.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/style/style_core_custom_font.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/style/style_core_direction.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/style/style_core_direction.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/style/style_core_font.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/style/style_core_font.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/style/style_core_icon.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/style/style_core_icon.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/style/style_core_scale.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/style/style_core_scale.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/style/style_core_types.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/style/style_core_types.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/text/qtextitemint.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/text/text.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/text/text.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/text/text_block.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/text/text_block.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/text/text_entity.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/text/text_entity.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/text/text_isolated_emoji.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/text/text_utilities.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/text/text_utilities.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/toast/toast.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/toast/toast.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/toast/toast_manager.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/toast/toast_manager.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/toast/toast_widget.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/toast/toast_widget.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/ui_log.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/ui_log.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/ui_pch.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/ui_pch.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/ui_utility.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/ui_utility.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/widgets/box_content_divider.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/widgets/box_content_divider.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/widgets/buttons.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/widgets/buttons.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/widgets/checkbox.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/widgets/checkbox.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/widgets/dropdown_menu.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/widgets/dropdown_menu.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/widgets/inner_dropdown.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/widgets/inner_dropdown.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/widgets/input_fields.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/widgets/input_fields.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/widgets/labels.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/widgets/labels.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/widgets/menu.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/widgets/menu.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/widgets/popup_menu.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/widgets/popup_menu.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/widgets/scroll_area.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/widgets/scroll_area.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/widgets/shadow.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/widgets/shadow.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/widgets/side_bar_button.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/widgets/side_bar_button.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/widgets/tooltip.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/widgets/tooltip.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/widgets/window.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/widgets/window.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/wrap/fade_wrap.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/wrap/fade_wrap.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/wrap/padding_wrap.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/wrap/padding_wrap.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/wrap/slide_wrap.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/wrap/slide_wrap.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/wrap/vertical_layout.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/wrap/vertical_layout.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/wrap/vertical_layout_reorder.cpp
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/wrap/vertical_layout_reorder.h
Examining data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/wrap/wrap.h
Examining data/telegram-desktop-2.2.0+ds/cmake/external/rlottie/config/config.h
Examining data/telegram-desktop-2.2.0+ds/cmake/linux_glibc_wraps/platform/linux/linux_glibc_wraps.c
Examining data/telegram-desktop-2.2.0+ds/cmake/linux_glibc_wraps/platform/linux/linux_glibc_wraps_32.c
Examining data/telegram-desktop-2.2.0+ds/cmake/linux_glibc_wraps/platform/linux/linux_glibc_wraps_64.c
Examining data/telegram-desktop-2.2.0+ds/debian/statusnotifieritem/dbustypes.cpp
Examining data/telegram-desktop-2.2.0+ds/debian/statusnotifieritem/dbustypes.h
Examining data/telegram-desktop-2.2.0+ds/debian/statusnotifieritem/statusnotifieritem.cpp
Examining data/telegram-desktop-2.2.0+ds/debian/statusnotifieritem/statusnotifieritem.h

FINAL RESULTS:

data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_linux.cpp:326:15:  [5] (race) readlink:
  This accepts filename arguments; if an attacker can move those files or
  change the link content, a race condition results. Also, it does not
  terminate with ASCII NUL. (CWE-362, CWE-20). Reconsider approach.
	auto count = readlink("/proc/self/exe", result, kMaxPath);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/linux/specific_linux.cpp:162:15:  [5] (race) readlink:
  This accepts filename arguments; if an attacker can move those files or
  change the link content, a race condition results. Also, it does not
  terminate with ASCII NUL. (CWE-362, CWE-20). Reconsider approach.
	auto count = readlink("/proc/" + pid.toLatin1() + "/exe", result, kMaxPath);
data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/platform/linux/base_file_utilities_linux.cpp:59:15:  [5] (race) readlink:
  This accepts filename arguments; if an attacker can move those files or
  change the link content, a race condition results. Also, it does not
  terminate with ASCII NUL. (CWE-362, CWE-20). Reconsider approach.
	auto count = readlink("/proc/self/exe", result, kMaxPath);
data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/cache/storage_encrypted_file_tests.cpp:196:18:  [5] (race) readlink:
  This accepts filename arguments; if an attacker can move those files or
  change the link content, a race condition results. Also, it does not
  terminate with ASCII NUL. (CWE-362, CWE-20). Reconsider approach.
				auto count = readlink("/proc/self/exe", result, size);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_linux.cpp:65:2:  [4] (buffer) sprintf:
  Does not check for buffer overflows (CWE-120). Use sprintf_s, snprintf, or
  vsnprintf.
	sprintf(logName, "%sDebugLogs/%04d%02d%02d_%02d%02d%02d_upd.txt", workDir.c_str(),
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_linux.cpp:84:2:  [4] (format) vfprintf:
  If format strings can be influenced by an attacker, they can be exploited
  (CWE-134). Use a constant for the format specification.
	vfprintf(_logFile, format, args);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_linux.cpp:481:3:  [4] (shell) execv:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
		execv(path, args.data());
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_win.cpp:472:7:  [4] (shell) ShellExecute:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
						ShellExecute(0, 0, L"explorer.exe", lnk.c_str(), 0, SW_SHOWNORMAL);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_win.cpp:490:3:  [4] (shell) ShellExecute:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
		ShellExecute(0, 0, (updateTo + exeName).c_str(), (L"-noupdate" + targs).c_str(), 0, SW_SHOWNORMAL);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/apiwrap.cpp:1784:62:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
void ApiWrap::scheduleStickerSetRequest(uint64 setId, uint64 access) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/apiwrap.cpp:1786:47:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
		_stickerSetRequests.insert(setId, qMakePair(access, 0));
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/apiwrap.h:266:54:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
	void scheduleStickerSetRequest(uint64 setId, uint64 access);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/share_box.cpp:1083:46:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
	auto channelAccessHash = channel ? channel->access : 0ULL;
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/stickers_box.cpp:423:62:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
					session().api().scheduleStickerSetRequest(set->id, set->access);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/stickers_box.cpp:489:62:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
					session().api().scheduleStickerSetRequest(set->id, set->access);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/stickers_box.cpp:834:59:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
				session().api().scheduleStickerSetRequest(setId, set->access);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/stickers_box.cpp:1197:13:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
		row->set->access);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/stickers_box.cpp:1767:19:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
				MTP_long(set->access)));
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/stickers_box.cpp:1891:60:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
			session().api().scheduleStickerSetRequest(set->id, set->access);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/chat_helpers/emoji_keywords.cpp:576:21:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
	yieldList(QLocale::system().uiLanguages());
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/chat_helpers/stickers_list_widget.cpp:3031:25:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
				if (set->id && set->access) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/chat_helpers/stickers_list_widget.cpp:3032:106:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
					_api.request(MTPmessages_UninstallStickerSet(MTP_inputStickerSetID(MTP_long(set->id), MTP_long(set->access)))).send();
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/application.cpp:232:29:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
	cChangeTimeFormat(QLocale::system().timeFormat(QLocale::ShortFormat));
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_channel.cpp:337:12:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
		MTP_long(access),
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_document.cpp:1562:10:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
		uint64 access,
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_document.cpp:1565:30:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
	if (_dc != dc || _access != access) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_document.cpp:1567:13:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
		_access = access;
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_document.h:202:10:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
		uint64 access,
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_photo.cpp:183:10:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
		uint64 access,
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_photo.cpp:186:30:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
	if (_dc != dc || _access != access) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_photo.cpp:188:13:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
		_access = access;
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_photo.h:71:10:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
		uint64 access,
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_session.cpp:581:19:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
				if (!channel->access) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_session.cpp:661:43:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
				data.vaccess_hash().value_or(channel->access));
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_session.cpp:2178:17:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
		const uint64 &access,
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_session.cpp:2192:3:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
		access,
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_session.cpp:2331:17:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
		const uint64 &access,
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_session.cpp:2345:31:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
	photo->setRemoteLocation(dc, access, fileReference);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_session.cpp:2404:17:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
		const uint64 &access,
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_session.cpp:2417:3:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
		access,
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_session.cpp:2558:17:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
		const uint64 &access,
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_session.cpp:2582:17:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
	if (dc != 0 && access != 0) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_session.cpp:2583:35:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
		document->setRemoteLocation(dc, access, fileReference);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_session.h:398:17:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
		const uint64 &access,
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_session.h:424:17:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
		const uint64 &access,
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_session.h:669:17:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
		const uint64 &access,
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_session.h:689:17:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
		const uint64 &access,
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/stickers/data_stickers.cpp:242:40:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
				setsToRequest.insert(set->id, set->access);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/stickers/data_stickers.cpp:284:20:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
					MTP_long(raw->access),
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/stickers/data_stickers.cpp:573:41:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
					setsToRequest.insert(set->id, set->access);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/stickers/data_stickers.cpp:1019:41:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
				setsToRequest.emplace(set->id, set->access);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/stickers/data_stickers.cpp:1189:17:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
		MTP_long(set->access));
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/stickers/data_stickers_set.cpp:51:9:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
	uint64 access,
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/stickers/data_stickers_set.cpp:59:3:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
, access(access)
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/stickers/data_stickers_set.cpp:59:10:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
, access(access)
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/stickers/data_stickers_set.cpp:78:16:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
	return (id && access)
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/stickers/data_stickers_set.cpp:79:50:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
		? MTP_inputStickerSetID(MTP_long(id), MTP_long(access))
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/stickers/data_stickers_set.cpp:128:34:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
		Data::FileOriginStickerSet(id, access),
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/stickers/data_stickers_set.h:53:10:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
		uint64 access,
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/admin_log/history_admin_log_inner.cpp:512:14:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
				QLocale::system().dateTimeFormat(QLocale::LongFormat));
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/history_inner_widget.cpp:3224:14:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
				QLocale::system().dateTimeFormat(QLocale::LongFormat));
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/history_inner_widget.cpp:3230:16:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
						QLocale::system().dateTimeFormat(
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/history_inner_widget.cpp:3238:16:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
						QLocale::system().dateTimeFormat(
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/history_view_list_widget.cpp:1096:13:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
			QLocale::system().dateTimeFormat(QLocale::LongFormat));
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/media/history_view_invoice.cpp:436:18:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
	return QLocale::system().toCurrencyString(currencyValue, currencyText);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/lang/lang_instance.cpp:314:32:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
			auto uiLanguages = QLocale::system().uiLanguages();
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/linux/launcher_linux.cpp:107:10:  [4] (shell) execv:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
	case 0: execv(args[0], args); return false;
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/linux/notifications_manager_linux.cpp:480:34:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
		Window::Notifications::System *system) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/linux/notifications_manager_linux.cpp:487:36:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
		return std::make_unique<Manager>(system);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/linux/notifications_manager_linux.cpp:704:59:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
Manager::Manager(not_null<Window::Notifications::System*> system)
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/linux/notifications_manager_linux.cpp:705:17:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
: NativeManager(system)
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/linux/notifications_manager_linux.h:87:51:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
	Manager(not_null<Window::Notifications::System*> system);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/linux/specific_linux.cpp:187:16:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
	auto result = system(command.constData());
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/mac/notifications_manager_mac.h:18:41:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
	Manager(Window::Notifications::System *system);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/platform_notifications_manager.h:21:33:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
	Window::Notifications::System *system);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/win/file_utilities_win.cpp:133:4:  [4] (shell) ShellExecute:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
			ShellExecute(0, L"open", wstringUrl.c_str(), 0, 0, SW_SHOWNORMAL);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/win/file_utilities_win.cpp:266:2:  [4] (shell) ShellExecute:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
	ShellExecute(0, L"open", wstringPath.c_str(), 0, 0, SW_SHOWNORMAL);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/win/launcher_win.cpp:125:22:  [4] (shell) ShellExecute:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
	const auto result = ShellExecute(
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/win/notifications_manager_win.cpp:328:87:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
std::unique_ptr<Window::Notifications::Manager> Create(Window::Notifications::System *system) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/win/notifications_manager_win.cpp:331:43:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
		auto result = std::make_unique<Manager>(system);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/win/notifications_manager_win.cpp:617:49:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
Manager::Manager(Window::Notifications::System *system) : NativeManager(system)
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/win/notifications_manager_win.cpp:617:73:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
Manager::Manager(Window::Notifications::System *system) : NativeManager(system)
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/win/notifications_manager_win.h:19:41:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
	Manager(Window::Notifications::System *system);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/win/specific_win.cpp:568:4:  [4] (shell) ShellExecute:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
			ShellExecute(
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/win/specific_win.cpp:582:4:  [4] (shell) WinExec:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
			WinExec("control.exe mmsys.cpl", SW_SHOW);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/download_manager_mtproto.cpp:546:23:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
				MTP_long(location.access),
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/serialize_document.cpp:65:14:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
	quint64 id, access;
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/serialize_document.cpp:69:18:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
	stream >> id >> access >> date;
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/serialize_document.cpp:150:15:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
		|| (!dc && !access)
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/serialize_document.cpp:161:3:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
		access,
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/serialize_peer.cpp:178:24:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
			<< quint64(channel->access)
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/serialize_peer.cpp:214:11:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
		quint64 access;
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/serialize_peer.cpp:216:51:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
		stream >> first >> last >> phone >> username >> access;
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/serialize_peer.cpp:225:23:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
		userpicAccessHash = access;
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/serialize_peer.cpp:239:24:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
			user->setAccessHash(access);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/serialize_peer.cpp:290:11:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
		quint64 access;
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/serialize_peer.cpp:293:21:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
		stream >> name >> access >> date >> version >> oldForbidden >> flags >> inviteLink;
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/serialize_peer.cpp:295:23:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
		userpicAccessHash = access;
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/serialize_peer.cpp:302:22:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
			channel->access = access;
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/serialize_peer.cpp:312:88:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
			channel->input = MTP_inputPeerChannel(MTP_int(peerToChannel(channel->id)), MTP_long(access));
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/serialize_peer.cpp:313:91:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
			channel->inputChannel = MTP_inputChannel(MTP_int(peerToChannel(channel->id)), MTP_long(access));
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/storage_account.cpp:1305:19:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
			<< quint64(set.access)
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/storage_account.cpp:1544:74:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
		auto inputSet = MTP_inputStickerSetID(MTP_long(set->id), MTP_long(set->access));
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/storage_account.cpp:1788:15:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
		quint64 id, access;
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/storage_account.cpp:1792:37:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
		stickers.stream >> id >> value >> access >> date >> name >> mime >> dc >> size >> width >> height >> type;
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/storage_account.cpp:1812:4:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
			access,
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ui/image/image_location.cpp:706:20:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
			<< quint64(data.access)
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ui/image/image_location.cpp:773:27:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
		stream >> lat >> lon >> access >> width >> height >> zoom >> scale;
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ui/image/image_location.cpp:779:16:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
					.access = access,
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ui/image/image_location.h:317:21:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
		&& (a.access == b.access)
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ui/image/image_location.h:328:5:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
		a.access,
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ui/image/image_location.h:336:6:  [4] (race) access:
  This usually indicates a security flaw. If an attacker can change anything
  along the path between the call to access() and the file's actual use
  (e.g., by moving files), the attacker can exploit the race condition
  (CWE-362/CWE-367!). Set up the correct permissions (e.g., using setuid())
  and try to open the file directly.
			b.access,
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/notifications_manager.cpp:608:27:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
	if (const auto session = system()->findSession(id.full.sessionId)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/notifications_manager.cpp:619:5:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
				system()->clearAll();
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/notifications_manager.cpp:657:2:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
	system()->clearFromHistory(history);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/notifications_manager.cpp:667:23:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
	const auto session = system()->findSession(id.full.sessionId);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/notifications_manager.h:150:37:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
	explicit Manager(not_null<System*> system) : _system(system) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/notifications_manager.h:150:55:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
	explicit Manager(not_null<System*> system) : _system(system) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/notifications_manager.h:195:20:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
	not_null<System*> system() const {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/notifications_manager_default.cpp:64:41:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
std::unique_ptr<Manager> Create(System *system) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/notifications_manager_default.cpp:65:35:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
	return std::make_unique<Manager>(system);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/notifications_manager_default.cpp:68:26:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
Manager::Manager(System *system)
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/notifications_manager_default.cpp:69:26:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
: Notifications::Manager(system)
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/notifications_manager_default.h:39:41:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
std::unique_ptr<Manager> Create(System *system);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/notifications_manager_default.h:43:18:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
	Manager(System *system);
data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/platform/linux/base_info_linux.cpp:83:18:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
	return QLocale::system().name().split('_').last();
data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/platform/linux/base_info_linux.cpp:87:31:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
	const auto system = QLocale::system();
data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/platform/linux/base_info_linux.cpp:88:25:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
	const auto languages = system.uiLanguages();
data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/platform/linux/base_info_linux.cpp:90:5:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
		? system.name().split('_').first()
data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/platform/linux/base_url_scheme_linux.cpp:33:10:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
	return (system(command.constData()) == 0);
data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/platform/win/base_file_utilities_win.cpp:33:26:  [4] (shell) ShellExecute:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
	const auto result = int(ShellExecute(
data/telegram-desktop-2.2.0+ds/Telegram/lib_spellcheck/spellcheck/platform/linux/spellcheck_linux.cpp:76:34:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
		std::string langTag = QLocale::system().name().toStdString();
data/telegram-desktop-2.2.0+ds/Telegram/lib_spellcheck/spellcheck/platform/win/spellcheck_win.cpp:40:14:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
		: QLocale::system().uiLanguages());
data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/cache/storage_cache_database_object.cpp:288:55:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
	const auto delta = std::max(int64(now) - int64(_time.system), 0LL);
data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/cache/storage_cache_database_object.cpp:489:18:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
	if (now < _time.system) {
data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/cache/storage_cache_database_object.cpp:665:55:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
	const auto delta = std::max(int64(now) - int64(_time.system), 0LL);
data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/cache/storage_cache_database_object.cpp:1248:26:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
	info.systemTime = _time.system;
data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/style/style_core_font.cpp:271:43:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
		const auto metrics = QFontMetrics(QFont(system));
data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/style/style_core_font.cpp:275:22:  [4] (shell) system:
  This causes a new program to execute and is difficult to use safely
  (CWE-78). try using a library call that implements the same functionality
  if available.
		return useSystem ? system : manual;
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_win.cpp:558:17:  [3] (misc) LoadLibrary:
  Ensure that the full path to the library is specified, or current directory
  may be used (CWE-829, CWE-20). Use registry entry or GetWindowsDirectory to
  find library path, if you aren't already.
	HMODULE hDll = LoadLibrary(L"DBGHELP.DLL");
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/calls/calls_call.cpp:138:36:  [3] (random) random:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
void Call::start(bytes::const_span random) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/calls/calls_call.cpp:145:22:  [3] (random) random:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
	generateModExpFirst(random);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/calls/calls_call.h:71:31:  [3] (random) random:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
	void start(bytes::const_span random);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/calls/calls_instance.cpp:168:8:  [3] (random) random:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
		if (!random.empty()) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/calls/calls_instance.cpp:169:11:  [3] (random) random:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
			Assert(random.size() == MTP::ModExpFirst::kRandomPowerSize);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/calls/calls_instance.cpp:170:16:  [3] (random) random:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
			call->start(random);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/calls/calls_instance.cpp:185:49:  [3] (random) random:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
	const auto validRandom = [](const QByteArray & random) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/calls/calls_instance.cpp:186:7:  [3] (random) random:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
		if (random.size() != MTP::ModExpFirst::kRandomPowerSize) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/core_cloud_password.cpp:118:22:  [3] (random) random:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
			bytes::set_random(random);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/core_cloud_password.cpp:119:26:  [3] (random) random:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
			const auto a = BigNum(random);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/launcher.cpp:359:2:  [3] (random) srand:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
	srand((unsigned int)time(nullptr));
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/audio/media_audio.cpp:203:18:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
	auto loglevel = getenv("ALSOFT_LOGLEVEL");
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/details/mtproto_tls_socket.cpp:182:22:  [3] (random) random:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
			bytes::set_random(random);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/details/mtproto_tls_socket.cpp:183:4:  [3] (random) random:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
			random[31] &= bytes::type(0x7FU);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/details/mtproto_tls_socket.cpp:184:15:  [3] (random) random:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
			x.setBytes(random);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/linux/linux_desktop_environment.cpp:17:16:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
	auto result = getenv(name);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/linux/linux_glibc_wraps.c:28:32:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
	return enable_secure ? NULL : getenv(name);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/themes/window_themes_generate_name.cpp:347:5:  [3] (random) random:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
		? random(kAdjectives) + ' ' + color
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/themes/window_themes_generate_name.cpp:348:19:  [3] (random) random:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
		: color + ' ' + random(kSubjectives);
data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/platform/linux/base_info_linux.cpp:71:22:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
	const auto result = getenv("XDG_CURRENT_DESKTOP");
data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/platform/win/base_windows_safe_library.cpp:31:38:  [3] (misc) LoadLibrary:
  Ensure that the full path to the library is specified, or current directory
  may be used (CWE-829, CWE-20). Use registry entry or GetWindowsDirectory to
  find library path, if you aren't already.
			if (const auto result = HINSTANCE(LoadLibrary(full.c_str()))) {
data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/unixtime.cpp:89:2:  [3] (random) srand:
  This function is not sufficiently random for security-related functions
  such as key and nonce creation (CWE-327). Use a more secure technique for
  acquiring random values.
	srand(uint32(_startCounter & 0xFFFFFFFFUL));
data/telegram-desktop-2.2.0+ds/Telegram/lib_crl/crl/winapi/crl_winapi_dll.h:28:5:  [3] (misc) LoadLibrary:
  Ensure that the full path to the library is specified, or current directory
  may be used (CWE-829, CWE-20). Use registry entry or GetWindowsDirectory to
  find library path, if you aren't already.
		: LoadLibrary(library))
data/telegram-desktop-2.2.0+ds/cmake/linux_glibc_wraps/platform/linux/linux_glibc_wraps.c:27:32:  [3] (buffer) getenv:
  Environment variables are untrustable input if they can be set by an
  attacker. They can have any content and length, and the same variable can
  be set more than once (CWE-807, CWE-20). Check environment variables
  carefully before using them.
	return enable_secure ? NULL : getenv(name);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/packer.cpp:136:11:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (!key.open(QIODevice::WriteOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/packer.cpp:231:10:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		buffer.open(QIODevice::WriteOnly);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/packer.cpp:251:11:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
			if (!f.open(QIODevice::ReadOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/packer.cpp:289:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(compressed.data() + hSigLen + hShaLen + hPropsLen, &resultSize, hOriginalSizeLen);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/packer.cpp:296:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(&resultCheckLen, compressed.constData() + hSigLen + hShaLen + hPropsLen, hOriginalSizeLen);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/packer.cpp:357:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(compressed.data() + hSigLen + hShaLen, &resultSize, hOriginalSizeLen);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/packer.cpp:364:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(&resultCheckLen, compressed.constData() + hSigLen + hShaLen, hOriginalSizeLen);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/packer.cpp:426:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(compressed.data() + hSigLen, hashSha1(compressed.constData() + hSigLen + hShaLen, uint32(compressedLen + hPropsLen + hOriginalSizeLen), sha1Buffer), hShaLen); // count sha1
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/packer.cpp:483:11:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (!out.open(QIODevice::WriteOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_linux.cpp:64:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char logName[maxFileLen];
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_linux.cpp:67:13:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	_logFile = fopen(logName, "w");
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_linux.cpp:91:16:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	FILE *ffrom = fopen(from, "rb"), *fto = fopen(to, "wb");
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_linux.cpp:91:42:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	FILE *ffrom = fopen(from, "rb"), *fto = fopen(to, "wb");
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_linux.cpp:101:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char buf[BufSize];
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_linux.cpp:175:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(copypath, path, pathsize);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_linux.cpp:218:21:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		FILE *readyFile = fopen(readyFilePath.c_str(), "rb");
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_linux.cpp:325:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char result[kMaxPath] = { 0 };
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_win.cpp:99:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(path, dir.c_str(), (dir.size() + 1) * sizeof(WCHAR));
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_win.cpp:295:7:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
						memcpy(locationStr, exp, copy * sizeof(WCHAR));
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_win.cpp:300:7:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
						memcpy(locationStr, exp, bufSize * sizeof(WCHAR));
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/app.cpp:383:40:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		if (f.size() > kImageSizeLimit || !f.open(QIODevice::ReadOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/boxes/share_box.cpp:1140:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char dataSha1[20] = { 0 };
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/calls/calls_call.cpp:53:4:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
			memcpy(endpoint.peerTag, tag.data(), 16);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/chat_helpers/emoji_keywords.cpp:96:12:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (!file.open(QIODevice::ReadOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/chat_helpers/emoji_keywords.cpp:147:12:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (!file.open(QIODevice::WriteOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/chat_helpers/message_field.cpp:626:37:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
				const QChar *q = parenth.pop(), open(*q);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/chat_helpers/message_field.cpp:627:23:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
				if ((ch == ')' && open != '(') || (ch == ']' && open != '[') || (ch == '}' && open != '{') || (ch == '>' && open != '<')) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/chat_helpers/message_field.cpp:627:53:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
				if ((ch == ')' && open != '(') || (ch == ']' && open != '[') || (ch == '}' && open != '{') || (ch == '>' && open != '<')) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/chat_helpers/message_field.cpp:627:83:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
				if ((ch == ')' && open != '(') || (ch == ']' && open != '[') || (ch == '}' && open != '{') || (ch == '>' && open != '<')) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/chat_helpers/message_field.cpp:627:113:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
				if ((ch == ')' && open != '(') || (ch == ']' && open != '[') || (ch == '}' && open != '{') || (ch == '>' && open != '<')) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/chat_helpers/spellchecker_common.cpp:304:12:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (input.open(QIODevice::ReadOnly)
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/chat_helpers/spellchecker_common.cpp:305:13:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		&& output.open(QIODevice::WriteOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/application.cpp:680:9:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		if (f.open(QIODevice::WriteOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/click_handler_types.cpp:47:3:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		open();
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/click_handler_types.cpp:67:29:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
					[=] { Ui::hideLayer(); open(); }),
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/click_handler_types.cpp:70:4:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
			open();
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/click_handler_types.cpp:85:3:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		open();
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/click_handler_types.cpp:89:3:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		open();
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/click_handler_types.cpp:94:4:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
			open();
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/crash_report_window.cpp:395:12:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		if (file.open(QIODevice::WriteOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/crash_report_window.cpp:533:12:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		if (file.open(QIODevice::ReadOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/crash_reports.cpp:426:16:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (FILE *f = fopen(QFile::encodeName(ReportPath).constData(), "rb")) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/crash_reports.cpp:429:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
		char buffer[256 * 1024] = { 0 };
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/crash_reports.cpp:458:15:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	ReportFile = fopen(QFile::encodeName(ReportPath).constData(), "wb");
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/launcher.cpp:86:11:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (file.open(QIODevice::WriteOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/launcher.cpp:95:28:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (file.exists() && file.open(QIODevice::ReadOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/launcher.cpp:103:28:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (file.exists() && file.open(QIODevice::ReadOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/launcher.cpp:128:8:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (f.open(QIODevice::WriteOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/launcher.cpp:139:9:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		if (f.open(QIODevice::ReadOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/launcher.cpp:150:11:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (file.open(QIODevice::ReadOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/launcher.cpp:166:12:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		if (file.open(QIODevice::WriteOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/launcher.cpp:220:12:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		if (!key.open(QIODevice::WriteOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/launcher.cpp:238:11:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (!key.open(QIODevice::ReadOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/mime_type.cpp:83:9:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		if (f.open(QIODevice::ReadOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/sandbox.cpp:100:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char h[33] = { 0 };
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/shortcuts.cpp:175:12:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (!file.open(QIODevice::ReadOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/shortcuts.cpp:205:12:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (input.open(QIODevice::ReadOnly) && output.open(QIODevice::WriteOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/shortcuts.cpp:205:48:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (input.open(QIODevice::ReadOnly) && output.open(QIODevice::WriteOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/shortcuts.cpp:267:12:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (!file.open(QIODevice::ReadOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/shortcuts.cpp:386:12:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (!file.open(QIODevice::WriteOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/update_checker.cpp:252:13:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (!input.open(QIODevice::ReadOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/update_checker.cpp:312:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(&uncompressedLen, compressed.constData() + hSigLen + hShaLen + hPropsLen, hOriginalSizeLen);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/update_checker.cpp:431:11:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
			if (!f.open(QIODevice::WriteOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/update_checker.cpp:456:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
		memcpy(versionStr, versionString.c_str(), versionLen);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/update_checker.cpp:459:17:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		if (!fVersion.open(QIODevice::WriteOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/update_checker.cpp:474:16:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (readyFile.open(QIODevice::WriteOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/update_checker.cpp:1480:17:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		if (!fVersion.open(QIODevice::ReadOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/utils.cpp:293:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
		memcpy(&_buffer[index], buf, firstpart);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/utils.cpp:305:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(&_buffer[index], &buf[i], length - i);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/utils.cpp:418:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(dest, md5.result(), 16);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_auto_download.cpp:200:10:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		buffer.open(QIODevice::WriteOnly);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_document.cpp:961:7:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
				f.open(QIODevice::WriteOnly);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_document.cpp:1211:12:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (!file.open(QIODevice::WriteOnly)
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_document.cpp:1706:10:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
				&& f.open(QIODevice::ReadOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_session.cpp:231:10:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	_cache->open(_session->local().cacheKey());
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_session.cpp:232:17:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	_bigFileCache->open(_session->local().cacheBigFileKey());
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/export/output/export_output_file.cpp:76:13:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (_file->open(QIODevice::Append)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/export/output/export_output_file.cpp:83:13:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		&& _file->open(QIODevice::Append))
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/export/output/export_output_file.cpp:128:24:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (!f.exists() || !f.open(QIODevice::ReadOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/export/output/export_output_json.cpp:868:9:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (!f.open(QIODevice::ReadOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ffmpeg/ffmpeg_utility.h:49:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
		char string[AV_ERROR_MAX_STRING_SIZE] = { 0 };
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/lang/lang_file_parser.cpp:152:12:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (!file.open(QIODevice::ReadOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/logs.cpp:93:11:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		if (out.open(QIODevice::ReadOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/logs.cpp:142:13:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
				if (to->open(mode | QIODevice::Append)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/logs.cpp:189:22:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
				if (files[type]->open(QIODevice::ReadOnly | QIODevice::Text)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/logs.cpp:199:20:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		if (files[type]->open(mode)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/audio/media_audio.cpp:1531:7:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	bool open(crl::time positionMs) override {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/audio/media_audio.cpp:1532:30:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		if (!AbstractFFMpegLoader::open(positionMs)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/audio/media_audio.cpp:1537:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
		char err[AV_ERROR_MAX_STRING_SIZE] = { 0 };
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/audio/media_audio.cpp:1639:13:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (reader.open(positionMs) && reader.samplesCount() > 0) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/audio/media_audio.cpp:1655:7:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	bool open(crl::time positionMs) override {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/audio/media_audio.cpp:1656:22:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		if (!FFMpegLoader::open(positionMs)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/audio/media_audio.cpp:1741:14:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (counter.open(positionMs)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/audio/media_audio_capture.cpp:122:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
		memcpy(buf, l->data.constData() + l->dataPos, nbytes);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/audio/media_audio_capture.cpp:132:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
		memcpy(l->data.data() + l->dataPos, buf, buf_size);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/audio/media_audio_capture.cpp:195:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char err[AV_ERROR_MAX_STRING_SIZE] = { 0 };
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/audio/media_audio_capture.cpp:549:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char err[AV_ERROR_MAX_STRING_SIZE] = { 0 };
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/audio/media_audio_capture.cpp:622:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char err[AV_ERROR_MAX_STRING_SIZE] = { 0 };
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/audio/media_audio_capture.cpp:663:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char err[AV_ERROR_MAX_STRING_SIZE] = { 0 };
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/audio/media_audio_ffmpeg_loader.cpp:29:28:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
bool AbstractFFMpegLoader::open(crl::time positionMs) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/audio/media_audio_ffmpeg_loader.cpp:35:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char err[AV_ERROR_MAX_STRING_SIZE] = { 0 };
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/audio/media_audio_ffmpeg_loader.cpp:109:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(buf, l->_data.constData() + l->_dataPos, nbytes);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/audio/media_audio_ffmpeg_loader.cpp:142:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(buf, l->_bytes.data() + l->_dataPos, nbytes);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/audio/media_audio_ffmpeg_loader.cpp:288:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
		char err[AV_ERROR_MAX_STRING_SIZE] = { 0 };
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/audio/media_audio_ffmpeg_loader.cpp:369:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
		char err[AV_ERROR_MAX_STRING_SIZE] = { 0 };
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/audio/media_audio_ffmpeg_loader.cpp:416:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
		char err[AV_ERROR_MAX_STRING_SIZE] = { 0 };
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/audio/media_audio_ffmpeg_loader.cpp:471:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
		char err[AV_ERROR_MAX_STRING_SIZE] = { 0 };
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/audio/media_audio_ffmpeg_loader.cpp:510:20:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
bool FFMpegLoader::open(crl::time positionMs) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/audio/media_audio_ffmpeg_loader.cpp:511:29:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (!AbstractFFMpegLoader::open(positionMs)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/audio/media_audio_ffmpeg_loader.cpp:525:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char err[AV_ERROR_MAX_STRING_SIZE] = { 0 };
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/audio/media_audio_ffmpeg_loader.cpp:599:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
			char err[AV_ERROR_MAX_STRING_SIZE] = { 0 };
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/audio/media_audio_ffmpeg_loader.cpp:619:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
			char err[AV_ERROR_MAX_STRING_SIZE] = { 0 };
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/audio/media_audio_ffmpeg_loader.h:34:7:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	bool open(crl::time positionMs) override;
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/audio/media_audio_ffmpeg_loader.h:156:7:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	bool open(crl::time positionMs) override;
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/audio/media_audio_loader.cpp:78:11:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		if (!_f.open(QIODevice::ReadOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/audio/media_audio_loader.h:25:15:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	virtual bool open(crl::time positionMs) = 0;
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/audio/media_audio_loaders.cpp:380:11:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		if (!l->open(positionMs)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/audio/media_audio_track.cpp:55:14:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (!loader.open(position)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/audio/media_audio_track.cpp:125:8:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (f.open(QIODevice::ReadOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/audio/media_child_ffmpeg_loader.cpp:40:25:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
bool ChildFFMpegLoader::open(crl::time positionMs) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/audio/media_child_ffmpeg_loader.cpp:94:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
		char err[AV_ERROR_MAX_STRING_SIZE] = { 0 };
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/audio/media_child_ffmpeg_loader.h:32:7:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	bool open(crl::time positionMs) override;
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/clip/media_clip_check_streaming.cpp:52:37:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (size < kHeaderSize || !device->open(QIODevice::ReadOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/clip/media_clip_check_streaming.cpp:57:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char atomHeader[kHeaderSize] = { 0 };
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/clip/media_clip_check_streaming.cpp:76:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
			char atomSize64[kHeaderSize] = { 0 };
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/clip/media_clip_ffmpeg.cpp:88:8:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
							char err[AV_ERROR_MAX_STRING_SIZE] = { 0 };
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/clip/media_clip_ffmpeg.cpp:103:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
			char err[AV_ERROR_MAX_STRING_SIZE] = { 0 };
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/clip/media_clip_ffmpeg.cpp:137:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
			char err[AV_ERROR_MAX_STRING_SIZE] = { 0 };
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/clip/media_clip_ffmpeg.cpp:251:4:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
			memcpy(d + i * dbpl, s + i * sbpl, bpl);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/clip/media_clip_ffmpeg.cpp:309:16:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (!_device->open(QIODevice::ReadOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/clip/media_clip_ffmpeg.cpp:323:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char err[AV_ERROR_MAX_STRING_SIZE] = { 0 };
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/clip/media_clip_ffmpeg.cpp:511:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
		char err[AV_ERROR_MAX_STRING_SIZE] = { 0 };
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/clip/media_clip_reader.cpp:499:10:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
			if (f.open(QIODevice::ReadOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/streaming/media_streaming_loader_local.cpp:32:26:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (!_size || !_device->open(QIODevice::ReadOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/view/media_view_overlay_widget.cpp:507:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
		memcpy(to, from, line);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/view/media_view_overlay_widget.cpp:1315:8:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
					f.open(QIODevice::WriteOnly);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/view/media_view_pip.cpp:1540:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
		memcpy(to, from, line);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/connection_http.cpp:100:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(data.data(), response.constData(), response.size());
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/connection_tcp.cpp:404:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(result.data(), ints.data(), ints.size() * sizeof(mtpPrime));
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/connection_tcp.cpp:440:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char connectionStartPrefixBytes[kConnectionStartPrefixSize];
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/connection_tcp.cpp:462:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char nonceBytes[64];
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/connection_tcp.h:66:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
		char ch[4] = { ch1, ch2, ch3, ch4 };
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/core_types.h:256:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
		memcpy(to.data() + size, bytes, count);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/core_types.h:282:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
		memcpy(bytes, from, count);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/dedicated_file_loader.cpp:162:37:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		|| (!_output.isOpen() && !_output.open(QIODevice::Append))) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/details/mtproto_dc_key_creator.cpp:505:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(&attempt->data.auth_key_aux_hash, auth_key_sha.data(), 8);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/details/mtproto_dc_key_creator.cpp:506:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(&attempt->data.auth_key_hash, auth_key_sha.data() + 12, 8);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/details/mtproto_dump_to_text.h:39:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
		memcpy(p + size, data, len);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/details/mtproto_dump_to_text.h:68:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
		memcpy(b, p, size);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/details/mtproto_serialized_request.cpp:79:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(_data->data() + kMessageIdPosition, &msgId, sizeof(mtpMsgId));
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_auth_key.cpp:47:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(data_a.data(), &msgKey, 16);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_auth_key.cpp:48:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(data_a.data() + 16, _key.data() + x, 32);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_auth_key.cpp:52:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(data_b.data(), _key.data() + 32 + x, 16);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_auth_key.cpp:53:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(data_b.data() + 16, &msgKey, 16);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_auth_key.cpp:54:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(data_b.data() + 32, _key.data() + 48 + x, 16);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_auth_key.cpp:58:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(data_c.data(), _key.data() + 64 + x, 32);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_auth_key.cpp:59:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(data_c.data() + 32, &msgKey, 16);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_auth_key.cpp:63:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(data_d.data(), &msgKey, 16);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_auth_key.cpp:64:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(data_d.data() + 16, _key.data() + 96 + x, 32);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_auth_key.cpp:69:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(key, sha1_a.data(), 8);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_auth_key.cpp:70:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(key + 8, sha1_b.data() + 8, 12);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_auth_key.cpp:71:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(key + 8 + 12, sha1_c.data() + 4, 12);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_auth_key.cpp:72:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(iv, sha1_a.data() + 8, 12);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_auth_key.cpp:73:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(iv + 12, sha1_b.data(), 8);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_auth_key.cpp:74:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(iv + 12 + 8, sha1_c.data() + 16, 4);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_auth_key.cpp:75:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(iv + 12 + 8 + 4, sha1_d.data(), 8);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_auth_key.cpp:83:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(data_a.data(), &msgKey, 16);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_auth_key.cpp:84:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(data_a.data() + 16, _key.data() + x, 36);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_auth_key.cpp:88:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(data_b.data(), _key.data() + 40 + x, 36);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_auth_key.cpp:89:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(data_b.data() + 36, &msgKey, 16);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_auth_key.cpp:94:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(key, sha256_a.data(), 8);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_auth_key.cpp:95:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(key + 8, sha256_b.data() + 8, 16);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_auth_key.cpp:96:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(key + 8 + 16, sha256_a.data() + 24, 8);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_auth_key.cpp:97:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(iv, sha256_b.data(), 8);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_auth_key.cpp:98:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(iv + 8, sha256_a.data() + 8, 16);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_auth_key.cpp:99:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(iv + 8 + 16, sha256_b.data() + 24, 8);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_auth_key.cpp:153:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(aes_key, key, 32);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_auth_key.cpp:154:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(aes_iv, iv, 32);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_auth_key.cpp:163:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(aes_key, key, 32);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_auth_key.cpp:164:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(aes_iv, iv, 32);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_dc_options.cpp:774:9:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (!f.open(QIODevice::ReadOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_dc_options.cpp:837:9:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (!f.open(QIODevice::WriteOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/session_private.cpp:94:4:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
			memcpy(to->data() + size, from->constData() + 4, headlen * sizeof(mtpPrime));
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/session_private.cpp:95:4:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
			memcpy(to->data() + size + headlen + skipBeforeRequest, from->constData() + 4 + headlen, lenInInts * sizeof(mtpPrime));
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/session_private.cpp:97:4:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
			memcpy(to->data() + size, from->constData() + 4, fulllen * sizeof(mtpPrime));
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/session_private.cpp:101:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
		memcpy(to->data() + size, from->constData() + 4, headlen * sizeof(mtpPrime));
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/session_private.cpp:104:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
		memcpy(to->data() + size + headlen + skipBeforeRequest + 1, &afterId, 2 * sizeof(mtpPrime));
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/session_private.cpp:105:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
		memcpy(to->data() + size + headlen + skipBeforeRequest + 3, from->constData() + 4 + headlen, lenInInts * sizeof(mtpPrime));
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/session_private.cpp:483:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(toSendRequest->data() + from, req->constData() + 4, len * sizeof(mtpPrime));
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/session_private.cpp:733:7:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
						memcpy(wrappedRequest->data(), toSendRequest->constData(), 4 * sizeof(mtpPrime));
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/session_private.cpp:741:7:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
						memcpy(wrappedRequest->data(), toSendRequest->constData(), 7 * sizeof(mtpPrime)); // all except length
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/session_private.cpp:746:7:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
						memcpy(wrappedRequest->data() + wrappedRequest->size() - noWrapSize, toSendRequest->constData() + 8, noWrapSize * sizeof(mtpPrime));
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/session_private.cpp:831:9:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
								memcpy(toSendRequest->data() + reqNeedsLayer + 4, initSerialized.constData(), initSize);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/session_private.cpp:837:8:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
							memcpy(toSendRequest->data() + reqNeedsLayer, request->constData() + 4, 4 * sizeof(mtpPrime));
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/session_private.cpp:838:8:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
							memcpy(toSendRequest->data() + reqNeedsLayer + 4, initSerialized.constData(), initSize);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/session_private.cpp:839:8:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
							memcpy(toSendRequest->data() + reqNeedsLayer + 4 + initSizeInInts, request->constData() + 8, tl::count_length(request));
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/session_private.cpp:856:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
					memcpy(toSendRequest->data() + from, request->constData() + 4, len * sizeof(mtpPrime));
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/session_private.cpp:1757:4:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
			memcpy(response.data(), from, (end - from) * sizeof(mtpPrime));
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/session_private.cpp:1824:21:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
		if (from > start) memcpy(update.data(), start, (from - start) * sizeof(mtpPrime));
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/session_private.cpp:1870:4:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
			memcpy(update.data(), from, (end - from) * sizeof(mtpPrime));
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/session_private.cpp:2564:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(request->data() + 0, &_sessionSalt, 2 * sizeof(mtpPrime));
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/session_private.cpp:2565:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(request->data() + 2, &_sessionId, 2 * sizeof(mtpPrime));
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/passport/passport_edit_identity_box.cpp:289:10:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		if (!f.open(QIODevice::ReadOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/passport/passport_panel_edit_scans.cpp:879:19:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
				} else if (!f.open(QIODevice::ReadOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/linux/main_window_linux.cpp:275:7:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	ret->open();
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/linux/specific_linux.cpp:161:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char result[kMaxPath] = { 0 };
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/linux/specific_linux.cpp:281:13:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (source.open(QIODevice::ReadOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/linux/specific_linux.cpp:293:13:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (target.open(QIODevice::WriteOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/linux/specific_linux.cpp:787:4:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
			char md5Hash[33] = { 0 };
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/linux/specific_linux.cpp:942:11:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (file.open(QIODevice::WriteOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/linux/specific_linux.cpp:1337:16:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	FILE *ffrom = fopen(from, "rb"), *fto = fopen(to, "wb");
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/linux/specific_linux.cpp:1337:42:  [2] (misc) fopen:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	FILE *ffrom = fopen(from, "rb"), *fto = fopen(to, "wb");
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/linux/specific_linux.cpp:1347:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char buf[BufSize];
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/win/main_window_win.cpp:188:2:  [2] (buffer) wchar_t:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	wchar_t buffer[DeviceNameSize] = { 0 };
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/win/notifications_manager_win.cpp:180:2:  [2] (buffer) wchar_t:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	wchar_t imageSrc[MAX_PATH] = L"file:///";
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/win/specific_win.cpp:94:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(path, wDir.c_str(), (wDir.size() + 1) * sizeof(WCHAR));
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/win/specific_win.cpp:546:4:  [2] (buffer) wchar_t:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
			wchar_t buf[20];
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/details/storage_file_utilities.cpp:150:9:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	buffer.open(QIODevice::WriteOnly);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/details/storage_file_utilities.cpp:188:27:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
bool FileWriteDescriptor::open(File &file, char postfix) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/details/storage_file_utilities.cpp:199:12:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (!file.open(QIODevice::WriteOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/details/storage_file_utilities.cpp:215:30:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	const auto opened = _buffer.open(QIODevice::WriteOnly);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/details/storage_file_utilities.cpp:257:6:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (open(save, 's')) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/details/storage_file_utilities.cpp:268:6:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (open(plain, '0')) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/details/storage_file_utilities.cpp:342:10:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		if (!f.open(QIODevice::ReadOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/details/storage_file_utilities.cpp:349:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
		char magic[TdfMagicLen];
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/details/storage_file_utilities.cpp:404:17:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		result.buffer.open(QIODevice::ReadOnly);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/details/storage_file_utilities.cpp:448:16:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	result.buffer.open(QIODevice::ReadOnly);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/details/storage_file_utilities.cpp:484:16:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	result.buffer.open(QIODevice::ReadOnly);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/details/storage_file_utilities.h:74:21:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	[[nodiscard]] bool open(File &file, char postfix);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/file_download.cpp:124:41:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		if (!_fileIsOpen) _fileIsOpen = _file.open(QIODevice::WriteOnly);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/file_download.cpp:232:23:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		_fileIsOpen = _file.open(QIODevice::WriteOnly);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/file_download.cpp:387:24:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
			_fileIsOpen = _file.open(QIODevice::ReadWrite);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/file_download.cpp:409:24:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
			_fileIsOpen = _file.open(QIODevice::WriteOnly);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/file_upload.cpp:552:33:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
				if (!uploadingData.docFile->open(QIODevice::ReadOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/storage_account.cpp:466:11:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
			buffer.open(QIODevice::WriteOnly);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/storage_cloud_blob.cpp:23:41:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (file.size() > kMaxZipSize || !file.open(QIODevice::ReadOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/storage_cloud_blob.cpp:36:14:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	return file.open(QIODevice::WriteOnly)
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/storage_file_lock_posix.cpp:98:12:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (!file.open(mode)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/storage_file_lock_win.cpp:125:13:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		if (!file.open(mode)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/support/support_helper.cpp:586:9:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (!f.open(QIODevice::ReadOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/support/support_templates.cpp:180:9:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (!f.open(QIODevice::ReadOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/support/support_templates.cpp:418:9:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		if (f.open(QIODevice::WriteOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ui/image/image.cpp:33:11:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		&& file.open(QIODevice::ReadOnly);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ui/image/image_location.cpp:263:10:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		buffer.open(QIODevice::WriteOnly);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ui/image/image_location.cpp:643:10:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		buffer.open(QIODevice::Append);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ui/image/image_location.cpp:689:9:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	buffer.open(QIODevice::WriteOnly);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ui/image/image_location.cpp:903:10:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		buffer.open(QIODevice::Append);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ui/image/image_source.cpp:28:11:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		&& file.open(QIODevice::ReadOnly);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/themes/window_theme.cpp:84:12:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (!file.open(QIODevice::ReadOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/themes/window_theme.cpp:400:14:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	return file.open(QIODevice::ReadOnly)
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/themes/window_theme.cpp:744:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
					memcpy(imageForTiledBytes, imageBytes, bytesInLine);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/themes/window_theme_editor.cpp:183:4:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
			memcpy(
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/themes/window_theme_editor.cpp:443:9:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (!f.open(QIODevice::ReadOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/themes/window_theme_editor.cpp:623:9:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (!f.open(QIODevice::WriteOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/themes/window_theme_editor.cpp:749:10:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		if (!f.open(QIODevice::WriteOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/themes/window_theme_editor.cpp:776:10:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		if (!f.open(QIODevice::ReadOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/themes/window_theme_editor_box.cpp:181:10:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
			if (f.open(QIODevice::ReadOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/themes/window_theme_editor_box.cpp:322:9:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (!f.open(QIODevice::WriteOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/themes/window_theme_preview.cpp:339:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(waveform.data(), wavedata, sizeof(wavedata));
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/themes/window_theme_preview.cpp:448:6:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
					memcpy(imageForTiledBytes, imageBytes, bytesInLine);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/themes/window_themes_cloud_list.cpp:87:15:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		return file.open(QIODevice::ReadOnly)
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/window_outdated_bar.cpp:105:12:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (!file.open(QIODevice::ReadOnly) || file.size() != sizeof(qint32)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/window_outdated_bar.cpp:136:12:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (!file.open(QIODevice::WriteOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/common/clean_file.cpp:29:9:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (!f.open(QIODevice::ReadOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/common/cpp_file.cpp:91:32:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (!forceReGenerate_ && file.open(QIODevice::ReadOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/common/cpp_file.cpp:99:12:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (!file.open(QIODevice::WriteOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/common/cpp_file.cpp:110:14:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	return file.open(QIODevice::WriteOnly) && (file.write("1", 1) == 1);
data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/emoji/data_read.cpp:95:12:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (!file.open(QIODevice::ReadOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/emoji/generator.cpp:416:14:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
			if (!file.open(QIODevice::ReadOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/emoji/generator.cpp:427:14:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
			if (!file.open(QIODevice::WriteOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/emoji/replaces.cpp:195:12:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		return f.open(QIODevice::ReadOnly) ? f.readAll() : QByteArray();
data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/bytes.h:91:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(destination.data(), source.data(), source.size());
data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/crash_report_writer.cpp:232:23:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		const auto handle = open(
data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/crash_report_writer.cpp:454:11:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (file.open(QIODevice::ReadOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/file_lock_posix.cpp:97:12:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (!file.open(mode)) {
data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/file_lock_win.cpp:66:13:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		if (!file.open(mode)) {
data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/openssl_help.h:557:11:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	unsigned char buffer[sizeof(T)];
data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/openssl_help.h:562:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(&result, buffer, sizeof(T));
data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/platform/linux/base_file_utilities_linux.cpp:58:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char result[kMaxPath] = { 0 };
data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/platform/linux/base_url_scheme_linux.cpp:84:9:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (!f.open(QIODevice::WriteOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/platform/linux/base_url_scheme_linux.cpp:153:9:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (!f.open(QIODevice::WriteOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/platform/win/base_url_scheme_win.cpp:75:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(defaultValue.data(), defaultByteValue.data(), kBufferByteSize);
data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/platform/win/base_url_scheme_win.cpp:89:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(byteValue.data(), wvalue.data(), wvalue.size() * 2);
data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/single_instance.cpp:39:2:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
	memcpy(raw.data(), ints.data(), raw.size());
data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/tests_main.cpp:99:20:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		QFile(touchFile).open(QIODevice::WriteOnly);
data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/zlib_help.h:47:9:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	voidpf open(const char *filename, int mode) {
data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/zlib_help.h:66:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
				memcpy(buf, _data.constData() + _position, toRead);
data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/zlib_help.h:80:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
		memcpy(_data.data() + _position, buf, size);
data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/zlib_help.h:115:46:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		return static_cast<InMemoryFile*>(opaque)->open(filename, mode);
data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/zlib_help.h:216:3:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
		char name[kMaxName + 1] = { 0 };
data/telegram-desktop-2.2.0+ds/Telegram/lib_crl/crl/common/crl_common_utils.h:23:2:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	char data[2];
data/telegram-desktop-2.2.0+ds/Telegram/lib_lottie/lottie/lottie_cache.cpp:53:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
		memcpy(to.data(), from.data(), from.size());
data/telegram-desktop-2.2.0+ds/Telegram/lib_lottie/lottie/lottie_cache.cpp:77:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
		memcpy(to.data() + sizeof(qint32), from.data(), size);
data/telegram-desktop-2.2.0+ds/Telegram/lib_lottie/lottie/lottie_cache.cpp:552:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
		memcpy(to, block.data(), amount);
data/telegram-desktop-2.2.0+ds/Telegram/lib_lottie/lottie/lottie_common.cpp:18:40:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	return (f.size() <= kMaxFileSize && f.open(QIODevice::ReadOnly))
data/telegram-desktop-2.2.0+ds/Telegram/lib_spellcheck/spellcheck/third_party/hunspell_controller.cpp:387:9:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (!f.open(QIODevice::WriteOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/lib_spellcheck/spellcheck/third_party/hunspell_controller.cpp:409:9:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		|| !f.open(QIODevice::ReadOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/cache/storage_cache_compactor.cpp:141:30:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	const auto result = _binlog.open(path, File::Mode::Read, _key);
data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/cache/storage_cache_compactor.cpp:157:31:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	const auto result = _compact.open(path, File::Mode::Write, _key);
data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/cache/storage_cache_compactor.cpp:397:30:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	const auto result1 = binlog.open(binlogPath, File::Mode::Read, key);
data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/cache/storage_cache_compactor.cpp:407:31:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	const auto result2 = compact.open(
data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/cache/storage_cache_database.cpp:30:16:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
void Database::open(EncryptionKey &&key, FnMut<void(Error)> &&done) {
data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/cache/storage_cache_database.cpp:35:13:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		unwrapped.open(std::move(key), std::move(done));
data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/cache/storage_cache_database.h:32:7:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	void open(EncryptionKey &&key, FnMut<void(Error)> &&done = nullptr);
data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/cache/storage_cache_database_object.cpp:127:22:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
void DatabaseObject::open(EncryptionKey &&key, FnMut<void(Error)> &&done) {
data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/cache/storage_cache_database_object.cpp:159:6:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (open != File::Result::Success) {
data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/cache/storage_cache_database_object.cpp:202:30:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	const auto result = _binlog.open(path, mode, key);
data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/cache/storage_cache_database_object.cpp:710:30:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	const auto result = _binlog.open(binlog, File::Mode::ReadAppend, _key);
data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/cache/storage_cache_database_object.cpp:838:15:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	switch (file.open(path, File::Mode::Write, _key)) {
data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/cache/storage_cache_database_object.cpp:1010:27:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	const auto result = data.open(path, File::Mode::Read, _key);
data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/cache/storage_cache_database_object.cpp:1275:2:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	open(std::move(key), std::move(done));
data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/cache/storage_cache_database_object.h:35:7:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	void open(EncryptionKey &&key, FnMut<void(Error)> &&done);
data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/cache/storage_cache_types.cpp:63:12:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (!file.open(QIODevice::ReadOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/cache/storage_cache_types.cpp:81:12:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (!file.open(QIODevice::WriteOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/cache/storage_encrypted_file_tests.cpp:46:28:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		const auto result = file.open(
data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/cache/storage_encrypted_file_tests.cpp:90:28:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		const auto result = file.open(
data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/cache/storage_encrypted_file_tests.cpp:102:28:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		const auto result = file.open(
data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/cache/storage_encrypted_file_tests.cpp:119:28:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		const auto result = file.open(
data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/cache/storage_encrypted_file_tests.cpp:152:28:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		const auto result = file.open(
data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/cache/storage_encrypted_file_tests.cpp:172:28:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		const auto result = file.open(
data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/cache/storage_encrypted_file_tests.cpp:189:5:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
				char result[kMaxPath] = { 0 };
data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/cache/storage_encrypted_file_tests.cpp:214:29:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
			const auto result = file.open(
data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/cache/storage_encrypted_file_tests.cpp:230:29:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
			const auto result = file.open(
data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/storage_encrypted_file.cpp:45:20:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
File::Result File::open(
data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/storage_encrypted_file.cpp:84:13:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (!_data.open(QIODevice::ReadOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/storage_encrypted_file.h:29:9:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	Result open(const QString &path, Mode mode, const EncryptionKey &key);
data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/storage_encryption.cpp:32:11:  [2] (buffer) char:
  Statically-sized arrays can be improperly restricted, leading to potential
  overflows or other issues (CWE-119!/CWE-120). Perform bounds checking, use
  functions that limit length, or ensure that the size is larger than the
  maximum possible length.
	unsigned char ecountBuf[kBlockSize] = { 0 };
data/telegram-desktop-2.2.0+ds/Telegram/lib_tl/tl/tl_basic_types.h:355:8:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
		std::memcpy(&nonaliased, &v, sizeof(v));
data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/emoji_suggestions/emoji_suggestions.cpp:209:4:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
			memcpy(copyTo, copyFrom, (i - copyFrom) * sizeof(utf16char));
data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/emoji_suggestions/emoji_suggestions.cpp:216:3:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
		memcpy(copyTo, copyFrom, (e - copyFrom) * sizeof(utf16char));
data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/emoji_config.cpp:136:12:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (!file.open(QIODevice::ReadOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/emoji_config.cpp:162:21:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	} else if (setting.open(QIODevice::WriteOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/emoji_config.cpp:178:14:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (!config.open(QIODevice::ReadOnly) || config.size() > kSizeLimit) {
data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/emoji_config.cpp:218:9:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
	if (!f.open(QIODevice::WriteOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/emoji_config.cpp:220:10:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
			|| !f.open(QIODevice::WriteOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/emoji_config.cpp:263:9:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
		|| !f.open(QIODevice::ReadOnly)) {
data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/text/text_entity.cpp:1795:39:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
						const QChar *q = parenth.pop(), open(*q);
data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/text/text_entity.cpp:1796:25:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
						if ((ch == ')' && open != '(') || (ch == ']' && open != '[') || (ch == '}' && open != '{') || (ch == '>' && open != '<')) {
data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/text/text_entity.cpp:1796:55:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
						if ((ch == ')' && open != '(') || (ch == ']' && open != '[') || (ch == '}' && open != '{') || (ch == '>' && open != '<')) {
data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/text/text_entity.cpp:1796:85:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
						if ((ch == ')' && open != '(') || (ch == ']' && open != '[') || (ch == '}' && open != '{') || (ch == '>' && open != '<')) {
data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/text/text_entity.cpp:1796:115:  [2] (misc) open:
  Check when opening files - can an attacker redirect it (via symlinks),
  force the opening of special file type (e.g., device files), move things
  around to create a race condition, control its ancestors, or change its
  contents? (CWE-362).
						if ((ch == ')' && open != '(') || (ch == ']' && open != '[') || (ch == '}' && open != '{') || (ch == '>' && open != '<')) {
data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/text/text_entity.cpp:1883:5:  [2] (buffer) memcpy:
  Does not check for buffer overflows when copying to destination (CWE-120).
  Make sure destination can always hold the source data.
				memcpy(result.text.data() + to, replacement.constData(), replacementLength * sizeof(QChar));
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_linux.cpp:173:29:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	int status = 0, pathsize = strlen(path) + 1;
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_linux.cpp:194:6:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
bool equal(string a, string b) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_linux.cpp:265:10:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
					if (equal(tofname, updaterName)) { // bad update - has Updater - delete all dir
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_linux.cpp:269:17:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
					} else if (equal(tofname, exePath + "Telegram") && exeName != "Telegram") {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_linux.cpp:306:5:  [1] (obsolete) usleep:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name). The interaction of this function with SIGALRM and other
  timer functions such as sleep(), alarm(), setitimer(), and nanosleep() is
  unspecified (CWE-676). Use nanosleep(2) or setitimer(2) instead.
				usleep(100000);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_linux.cpp:348:7:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
		if (equal(argv[i], "-noupdate")) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_linux.cpp:350:14:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
		} else if (equal(argv[i], "-autostart")) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_linux.cpp:352:14:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
		} else if (equal(argv[i], "-debug")) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_linux.cpp:354:14:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
		} else if (equal(argv[i], "-startintray")) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_linux.cpp:356:14:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
		} else if (equal(argv[i], "-testmode")) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_linux.cpp:358:14:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
		} else if (equal(argv[i], "-externalupdater")) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_linux.cpp:360:14:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
		} else if (equal(argv[i], "-tosettings")) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_linux.cpp:362:14:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
		} else if (equal(argv[i], "-workdir_custom")) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_linux.cpp:364:14:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
		} else if (equal(argv[i], "-key") && ++i < argc) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_linux.cpp:366:14:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
		} else if (equal(argv[i], "-workpath") && ++i < argc) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_linux.cpp:368:14:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
		} else if (equal(argv[i], "-exename") && ++i < argc) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_linux.cpp:370:14:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
		} else if (equal(argv[i], "-exepath") && ++i < argc) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_linux.cpp:394:7:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
		if (equal(updaterName.substr(updaterName.size() - 7), "Updater")) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_linux.cpp:407:30:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
					if (pw && pw->pw_dir && strlen(pw->pw_dir)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_win.cpp:14:6:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
bool equal(const wstring &a, const wstring &b) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_win.cpp:201:9:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
				if (equal(tofname, updaterName)) { // bad update - has Updater.exe - delete all dir
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_win.cpp:205:16:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
				} else if (equal(tofname, updateTo + L"Telegram.exe") && exeName != L"Telegram.exe") {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_win.cpp:210:9:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
				if (equal(fname, readyFilePath)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_win.cpp:309:79:  [1] (buffer) wcslen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
								RegSetValueEx(rkey, L"DisplayName", 0, REG_SZ, (const BYTE*)nameStr, (wcslen(nameStr) + 1) * sizeof(WCHAR));
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_win.cpp:311:82:  [1] (buffer) wcslen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
								RegSetValueEx(rkey, L"Publisher", 0, REG_SZ, (const BYTE*)publisherStr, (wcslen(publisherStr) + 1) * sizeof(WCHAR));
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_win.cpp:313:95:  [1] (buffer) wcslen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
								RegSetValueEx(rkey, L"Inno Setup: Icon Group", 0, REG_SZ, (const BYTE*)icongroupStr, (wcslen(icongroupStr) + 1) * sizeof(WCHAR));
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_win.cpp:315:79:  [1] (buffer) wcslen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
								RegSetValueEx(rkey, L"InstallDate", 0, REG_SZ, (const BYTE*)dateStr, (wcslen(dateStr) + 1) * sizeof(WCHAR));
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_win.cpp:318:75:  [1] (buffer) wcslen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
								RegSetValueEx(rkey, L"HelpLink", 0, REG_SZ, (const BYTE*)appURL, (wcslen(appURL) + 1) * sizeof(WCHAR));
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_win.cpp:319:79:  [1] (buffer) wcslen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
								RegSetValueEx(rkey, L"URLInfoAbout", 0, REG_SZ, (const BYTE*)appURL, (wcslen(appURL) + 1) * sizeof(WCHAR));
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_win.cpp:320:80:  [1] (buffer) wcslen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
								RegSetValueEx(rkey, L"URLUpdateInfo", 0, REG_SZ, (const BYTE*)appURL, (wcslen(appURL) + 1) * sizeof(WCHAR));
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_win.cpp:347:8:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
			if (equal(args[i], L"-update")) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_win.cpp:349:15:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
			} else if (equal(args[i], L"-autostart")) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_win.cpp:351:15:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
			} else if (equal(args[i], L"-debug")) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_win.cpp:354:15:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
			} else if (equal(args[i], L"-startintray")) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_win.cpp:356:15:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
			} else if (equal(args[i], L"-testmode")) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_win.cpp:358:15:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
			} else if (equal(args[i], L"-freetype")) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_win.cpp:360:15:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
			} else if (equal(args[i], L"-externalupdater")) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_win.cpp:362:15:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
			} else if (equal(args[i], L"-writeprotected") && ++i < argsCount) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_win.cpp:371:15:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
			} else if (equal(args[i], L"-workdir") && ++i < argsCount) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_win.cpp:374:15:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
			} else if (equal(args[i], L"-key") && ++i < argsCount) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_win.cpp:377:15:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
			} else if (equal(args[i], L"-exename") && ++i < argsCount) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_win.cpp:399:8:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
			if (equal(updaterName.substr(updaterName.size() - 11), L"Updater.exe")) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_win.cpp:572:26:  [1] (buffer) wcslen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	if (!_wcsicmp(pathEnd - wcslen(_exeName), _exeName)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/_other/updater_win.cpp:573:22:  [1] (buffer) wcslen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
		wsprintf(pathEnd - wcslen(_exeName), L"");
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/app.cpp:344:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
			if (!reader.read(&result)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/crash_reports.cpp:431:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		if (read > 0) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/crash_reports.cpp:432:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
			lastdump.append(buffer, read);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/crash_reports.cpp:577:17:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	fwrite(str, 1, strlen(str), ReportFile);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/crash_reports.cpp:584:22:  [1] (buffer) wcslen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	for (int i = 0, l = wcslen(str); i < l; ++i) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/launcher.cpp:96:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		Logs::SetDebugEnabled(file.read(1) != "0");
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/launcher.cpp:140:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
			cSetInstallBetaVersion(f.read(1) != "0");
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/launcher.cpp:151:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		const auto result = file.read(
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/mime_type.cpp:84:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
			QByteArray magic = f.read(12);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/update_checker.cpp:1486:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		if (fVersion.read((char*)&versionNum, sizeof(VersionInt)) != sizeof(VersionInt)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/core/update_checker.cpp:1493:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
			if (fVersion.read((char*)&alphaVersion, sizeof(quint64)) != sizeof(quint64)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_cloud_file.cpp:280:45:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		if (auto read = file.loader->imageData(); read.isNull()) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_cloud_file.cpp:286:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
			onstack(std::move(read));
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/data/data_document_media.cpp:73:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	auto result = reader.read();
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ffmpeg/ffmpeg_utility.cpp:89:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		int(*read)(void *opaque, uint8_t *buffer, int bufferSize),
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ffmpeg/ffmpeg_utility.cpp:102:3:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		read,
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ffmpeg/ffmpeg_utility.cpp:122:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		int(*read)(void *opaque, uint8_t *buffer, int bufferSize),
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ffmpeg/ffmpeg_utility.cpp:125:34:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	auto io = MakeIOPointer(opaque, read, write, seek);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ffmpeg/ffmpeg_utility.h:121:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	int(*read)(void *opaque, uint8_t *buffer, int bufferSize),
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/ffmpeg/ffmpeg_utility.h:131:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	int(*read)(void *opaque, uint8_t *buffer, int bufferSize),
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/media/history_view_poll.cpp:85:7:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
		if (equal <= left) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/history/view/media/history_view_poll.cpp:86:12:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
			left -= equal;
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/lang/lang_file_parser.cpp:162:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	auto codecMagic = file.read(kCodecMagicSize);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/main/main_account.cpp:473:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	if (!updates.read(from, end)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/main/main_account.cpp:482:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	if (!newSession.read(from, end)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/audio/media_audio_ffmpeg_loader.cpp:170:19:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	return int(l->_f.read((char *)(buf), buf_size));
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/audio/media_audio_track.cpp:129:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
			if (f.read(reinterpret_cast<char*>(bytes.data()), bytes.size()) == bytes.size()) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/clip/media_clip_check_streaming.cpp:61:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		if (device->read(atomHeader, kHeaderSize) != kHeaderSize) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/clip/media_clip_check_streaming.cpp:77:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
			if (device->read(atomSize64, kHeaderSize) != kHeaderSize) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/clip/media_clip_ffmpeg.cpp:558:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	return int(l->_device->read((char*)(buf), buf_size));
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/streaming/media_streaming_file.cpp:34:40:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	return static_cast<Context*>(opaque)->read(
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/streaming/media_streaming_file.cpp:42:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
int File::Context::read(bytes::span buffer) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/streaming/media_streaming_file.h:65:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		[[nodiscard]] int read(bytes::span buffer);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/media/streaming/media_streaming_loader_local.cpp:50:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	auto result = _device->read(kPartSize);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/connection_abstract.cpp:153:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	return response.read(from, from + answer.size())
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/connection_tcp.cpp:264:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
			bytes::copy(_smallBuffer, read);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/connection_tcp.cpp:268:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
			bytes::move(_smallBuffer, read);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/connection_tcp.cpp:272:29:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		bytes::move(_largeBuffer, read);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/connection_tcp.cpp:275:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		bytes::copy(enough, read);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/connection_tcp.cpp:303:35:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		const auto readCount = _socket->read(free.subspan(0, readLimit));
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/connection_tcp.cpp:306:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
			aesCtrEncrypt(read, _receiveKey, &_receiveState);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/details/mtproto_abstract_socket.h:48:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	[[nodiscard]] virtual int64 read(bytes::span buffer) = 0;
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/details/mtproto_bound_key_creator.cpp:84:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	if (!error.read(from, from + buffer.size())) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/details/mtproto_dc_key_binder.cpp:115:52:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	} else if (response[0] == mtpc_rpc_error && error.read(from, end)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/details/mtproto_dc_key_creator.cpp:224:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	if (result.read(from, from + answer.size())) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/details/mtproto_dc_key_creator.cpp:422:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		if (!dh_inner.read(to, end)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/details/mtproto_dump_to_text.cpp:21:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		if (value.read(from, end, cons)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/details/mtproto_dump_to_text.cpp:29:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		if (value.read(from, end, cons)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/details/mtproto_dump_to_text.cpp:37:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		if (value.read(from, end, cons)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/details/mtproto_dump_to_text.cpp:45:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		if (value.read(from, end, cons)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/details/mtproto_dump_to_text.cpp:53:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		if (value.read(from, end, cons)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/details/mtproto_dump_to_text.cpp:61:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		if (value.read(from, end, cons)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/details/mtproto_dump_to_text.cpp:99:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		if (!packed.read(from, end)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/details/mtproto_dump_to_text.h:35:22:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
		if (len < 0) len = strlen(data);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/details/mtproto_tcp_socket.cpp:85:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
int64 TcpSocket::read(bytes::span buffer) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/details/mtproto_tcp_socket.cpp:86:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	return _socket.read(
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/details/mtproto_tcp_socket.h:23:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	int64 read(bytes::span buffer) override;
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/details/mtproto_tls_socket.cpp:701:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
int64 TlsSocket::read(bytes::span buffer) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/details/mtproto_tls_socket.h:26:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	int64 read(bytes::span buffer) override;
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtp_instance.cpp:1043:22:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
			handleError(error.read(from, end) ? error : RPCError::Local(
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_concurrent_sender.h:215:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		if (!data.read(from, end)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_config.cpp:132:2:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	read(dcOptionsSerialized);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_config.cpp:133:2:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	read(raw->_fields.chatSizeMax);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_config.cpp:134:2:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	read(raw->_fields.megagroupSizeMax);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_config.cpp:135:2:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	read(raw->_fields.forwardedCountMax);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_config.cpp:136:2:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	read(raw->_fields.onlineUpdatePeriod);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_config.cpp:137:2:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	read(raw->_fields.offlineBlurTimeout);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_config.cpp:138:2:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	read(raw->_fields.offlineIdleTimeout);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_config.cpp:139:2:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	read(raw->_fields.onlineFocusTimeout);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_config.cpp:140:2:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	read(raw->_fields.onlineCloudTimeout);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_config.cpp:141:2:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	read(raw->_fields.notifyCloudDelay);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_config.cpp:142:2:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	read(raw->_fields.notifyDefaultDelay);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_config.cpp:143:2:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	read(raw->_fields.savedGifsLimit);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_config.cpp:144:2:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	read(raw->_fields.editTimeLimit);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_config.cpp:145:2:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	read(raw->_fields.revokeTimeLimit);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_config.cpp:146:2:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	read(raw->_fields.revokePrivateTimeLimit);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_config.cpp:147:2:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	read(raw->_fields.revokePrivateInbox);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_config.cpp:148:2:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	read(raw->_fields.stickersRecentLimit);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_config.cpp:149:2:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	read(raw->_fields.stickersFavedLimit);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_config.cpp:150:2:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	read(raw->_fields.pinnedDialogsCountMax);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_config.cpp:151:2:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	read(raw->_fields.pinnedDialogsInFolderMax);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_config.cpp:152:2:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	read(raw->_fields.internalLinksDomain);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_config.cpp:153:2:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	read(raw->_fields.channelsReadMediaPeriod);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_config.cpp:154:2:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	read(raw->_fields.callReceiveTimeoutMs);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_config.cpp:155:2:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	read(raw->_fields.callRingTimeoutMs);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_config.cpp:156:2:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	read(raw->_fields.callConnectTimeoutMs);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_config.cpp:157:2:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	read(raw->_fields.callPacketTimeoutMs);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_config.cpp:158:2:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	read(raw->_fields.webFileDcId);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_config.cpp:159:2:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	read(raw->_fields.txtDomainString);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_config.cpp:160:2:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	read(raw->_fields.phoneCallsEnabled);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_config.cpp:161:2:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	read(raw->_fields.blockedMode);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_config.cpp:162:2:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	read(raw->_fields.captionLengthMax);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_dc_options.cpp:168:47:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
		const auto keyBytes = bytes::make_span(key, strlen(key));
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_dc_options.cpp:400:9:  [1] (buffer) equal:
  Function does not check the second iterator for over-read conditions
  (CWE-126). This function is often discouraged by most C++ coding standards
  in favor of its safer alternatives provided since C++14. Consider using a
  form of this function that checks the second iterator before potentially
  overflowing it.
			if (!equal(i->second, j->second)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_rpc_sender.h:134:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		if (!response.read(from, end)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_rpc_sender.h:155:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		if (!response.read(from, end)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_rpc_sender.h:361:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		if (!response.read(from, end)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/mtproto_rpc_sender.h:378:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		if (!response.read(from, end)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/sender.h:62:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
				if (!result.read(from, end)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/session_private.cpp:1416:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
			if (!inMsgId.read(from, otherEnd)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/session_private.cpp:1426:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
			if (!inSeqNo.read(from, otherEnd)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/session_private.cpp:1430:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
			if (!bytes.read(from, otherEnd)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/session_private.cpp:1463:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		if (!msg.read(from, end)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/session_private.cpp:1485:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		if (!msg.read(from, end)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/session_private.cpp:1578:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		if (!msg.read(from, end)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/session_private.cpp:1605:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		if (!msg.read(from, end)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/session_private.cpp:1639:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
			if (!request.read(rFrom, rEnd)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/session_private.cpp:1646:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
			if (!request.read(rFrom, rEnd)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/session_private.cpp:1661:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		if (!msg.read(from, end)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/session_private.cpp:1674:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		if (!msg.read(from, end)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/session_private.cpp:1707:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		if (!msg.read(from, end)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/session_private.cpp:1730:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		if (!reqMsgId.read(++from, end)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/session_private.cpp:1788:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		if (!msg.read(from, end)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/session_private.cpp:1833:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		if (!msg.read(from, end)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/session_private.cpp:1919:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	if (!packed.read(from, end)) { // read packed string as serialized mtp string type
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/mtproto/special_config_request.cpp:477:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	if (!_simpleConfig.read(from, end)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/linux/specific_linux.cpp:522:3:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
		strlen("_NET_WM_MOVERESIZE"),
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/linux/specific_linux.cpp:1090:30:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	return (pw && pw->pw_dir && strlen(pw->pw_dir)) ? (QFile::decodeName(pw->pw_dir) + '/') : QString();
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/win/notifications_manager_win.cpp:72:30:  [1] (buffer) wcslen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
		HRESULT hr = SizeTToUInt32(wcslen(stringRef), &length);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/win/notifications_manager_win.cpp:398:104:  [1] (buffer) wcslen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	if (!SUCCEEDED(_notificationManager->CreateToastNotifierWithId(StringReferenceWrapper(appUserModelId, wcslen(appUserModelId)).Get(), &_notifier))) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/platform/win/specific_win.cpp:482:72:  [1] (buffer) wcslen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
			LSTATUS status = RegSetValueEx(rkey, value, 0, REG_SZ, (BYTE*)tmp, (wcslen(tmp) + 1) * sizeof(WCHAR));
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/details/storage_file_utilities.cpp:350:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		if (f.read(magic, TdfMagicLen) != TdfMagicLen) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/details/storage_file_utilities.cpp:364:9:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		if (f.read((char*)&version, sizeof(version)) != sizeof(version)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/details/storage_file_utilities.cpp:378:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		QByteArray bytes = f.read(f.size());
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/details/storage_settings_scheme.cpp:153:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		auto key = Serialize::read<MTP::AuthKey::Data>(stream);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/file_download.cpp:396:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		auto result = _file.read(size);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/file_upload.cpp:557:36:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
			toSend = uploadingData.docFile->read(uploadingData.docPartSize);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/serialize_common.h:98:10:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
inline T read(QDataStream &stream) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/serialize_common.h:105:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
inline MTP::AuthKey::Data read<MTP::AuthKey::Data>(QDataStream &stream) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/storage_account.cpp:243:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		auto key = Serialize::read<MTP::AuthKey::Data>(keyData.stream);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/storage_account.cpp:1560:30:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		base::flat_set<DocumentId> read;
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/storage_account.cpp:1570:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
				|| read.contains(document->id)) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/storage_account.cpp:1573:4:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
			read.emplace(document->id);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/storage_account.cpp:1786:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	QMap<uint64, bool> read;
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/storage_account.cpp:1796:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		if (!value || read.contains(id)) continue;
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/storage_account.cpp:1797:3:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		read.insert(id, true);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/storage_account.cpp:1953:25:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	OrderedSet<DocumentId> read;
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/storage_account.cpp:1965:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		if (read.contains(document->id)) continue;
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/storage_account.cpp:1966:3:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		read.insert(document->id);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/storage_domain.cpp:149:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	auto key = Serialize::read<MTP::AuthKey::Data>(keyInnerData.stream);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/storage/storage_file_lock_posix.cpp:28:3:  [1] (obsolete) usleep:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name). The interaction of this function with SIGALRM and other
  timer functions such as sleep(), alarm(), setitimer(), and nanosleep() is
  unspecified (CWE-676). Use nanosleep(2) or setitimer(2) instead.
		usleep(10000);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/themes/window_theme.cpp:382:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		if (!reader.read(&background) || background.isNull()) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/themes/window_theme.cpp:1091:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	auto path = read.object.pathAbsolute;
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/themes/window_theme.cpp:1096:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		if (read.object.content.isEmpty()) {
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/themes/window_theme.cpp:1100:31:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		preview->object = std::move(read.object);
data/telegram-desktop-2.2.0+ds/Telegram/SourceFiles/window/themes/window_theme.cpp:1101:40:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		preview->instance.cached = std::move(read.cache);
data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/common/basic_tokenized_file.h:65:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	bool read() {
data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/common/basic_tokenized_file.h:66:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		if (reader_.read()) {
data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/common/checked_utf8_string.cpp:19:10:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
		size = strlen(string);
data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/common/clean_file.cpp:51:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
bool CleanFile::read() {
data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/common/clean_file.h:26:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	bool read();
data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/common/clean_file_reader.h:24:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	bool read() {
data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/common/clean_file_reader.h:25:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		if (!file_.read()) {
data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/common/const_utf8_string.h:22:11:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
			size = strlen(string);
data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/lang/parsed_file.cpp:93:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
bool ParsedFile::read() {
data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/lang/parsed_file.cpp:94:13:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	if (!file_.read()) {
data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/lang/parsed_file.h:58:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	bool read();
data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/lang/processor.cpp:29:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	if (!parser_->read()) {
data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/numbers/parsed_file.cpp:27:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	if (!reader.read()) {
data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/numbers/parsed_file.cpp:53:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
bool ParsedFile::read() {
data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/numbers/parsed_file.cpp:54:35:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	if (content_.isEmpty() || !file_.read()) {
data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/numbers/parsed_file.h:29:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	bool read();
data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/numbers/processor.cpp:29:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	if (!parser_->read()) {
data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/style/parsed_file.cpp:160:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
bool ParsedFile::read() {
data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/style/parsed_file.cpp:165:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	} else if (!file_.read()) {
data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/style/parsed_file.cpp:227:18:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
			if (!included.read()) {
data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/style/parsed_file.h:34:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	bool read();
data/telegram-desktop-2.2.0+ds/Telegram/codegen/codegen/style/processor.cpp:35:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		if (!parser.read()) {
data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/algorithm.h:105:10:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
		size = strlen(string);
data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/crash_report_header.cpp:53:22:  [1] (buffer) wcslen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	for (int i = 0, l = wcslen(str); i < l; ++i) {
data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/file_lock_posix.cpp:27:3:  [1] (obsolete) usleep:
  This C routine is considered obsolete (as opposed to the shell command by
  the same name). The interaction of this function with SIGALRM and other
  timer functions such as sleep(), alarm(), setitimer(), and nanosleep() is
  unspecified (CWE-676). Use nanosleep(2) or setitimer(2) instead.
		usleep(10000);
data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/platform/linux/base_url_scheme_linux.cpp:27:30:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	return (pw && pw->pw_dir && strlen(pw->pw_dir))
data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/zlib_help.h:61:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	uLong read(voidpf stream, void* buf, uLong size) {
data/telegram-desktop-2.2.0+ds/Telegram/lib_base/base/zlib_help.h:119:46:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		return static_cast<InMemoryFile*>(opaque)->read(stream, buf, size);
data/telegram-desktop-2.2.0+ds/Telegram/lib_spellcheck/spellcheck/platform/win/spellcheck_win.cpp:141:41:  [1] (buffer) wcslen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
				QString::fromWCharArray(suggestion, wcslen(suggestion));
data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/cache/storage_cache_binlog_reader.cpp:38:20:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	} else if (binlog.read(bytes::object_as_span(&result)) != sizeof(result)) {
data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/cache/storage_cache_binlog_reader.cpp:71:33:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	const auto readBytes = _binlog.read(
data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/cache/storage_cache_compactor.cpp:419:28:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		const auto read = binlog.read(bytes.subspan(0, limit));
data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/cache/storage_cache_compactor.cpp:420:8:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		if (!read || read > limit) {
data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/cache/storage_cache_compactor.cpp:420:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		if (!read || read > limit) {
data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/cache/storage_cache_compactor.cpp:422:46:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		} else if (!compact.write(bytes.subspan(0, read))) {
data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/cache/storage_cache_compactor.cpp:425:11:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		from += read;
data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/cache/storage_cache_database_object.cpp:1018:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		if (read != size) {
data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/cache/storage_cache_types.cpp:66:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	const auto bytes = file.read(sizeof(Version));
data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/cache/storage_encrypted_file_tests.cpp:55:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		const auto read = file.read(data);
data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/cache/storage_encrypted_file_tests.cpp:56:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		if (read != data.size()) {
data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/cache/storage_encrypted_file_tests.cpp:109:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		const auto read = file.read(data);
data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/cache/storage_encrypted_file_tests.cpp:132:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		const auto read = file.read(data);
data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/cache/storage_encrypted_file_tests.cpp:159:26:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		const auto read = file.read(data);
data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/cache/storage_encrypted_file_tests.cpp:221:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
			const auto read = file.read(data);
data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/cache/storage_encrypted_file_tests.cpp:237:27:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
			const auto read = file.read(data);
data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/storage_encrypted_file.cpp:173:15:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	return _data.read(reinterpret_cast<char*>(bytes.data()), bytes.size());
data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/storage_encrypted_file.cpp:196:17:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
size_type File::read(bytes::span bytes) {
data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/storage_encrypted_file.cpp:245:24:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		const auto succeed = read(bytes.subspan(0, good));
data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/storage_encrypted_file.cpp:255:23:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	const auto succeed = read(padded);
data/telegram-desktop-2.2.0+ds/Telegram/lib_storage/storage/storage_encrypted_file.h:31:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	size_type read(bytes::span bytes);
data/telegram-desktop-2.2.0+ds/Telegram/lib_tl/tl/tl_basic_types.h:78:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	[[nodiscard]] bool read(const Prime *&from, const Prime *end, uint32 cons = id_int) {
data/telegram-desktop-2.2.0+ds/Telegram/lib_tl/tl/tl_basic_types.h:116:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	[[nodiscard]] bool read(const Prime *&from, const Prime *end, uint32 cons = id_flags) {
data/telegram-desktop-2.2.0+ds/Telegram/lib_tl/tl/tl_basic_types.h:171:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	[[nodiscard]] bool read(const Prime *&from, const Prime *end, uint32 cons = id_long) {
data/telegram-desktop-2.2.0+ds/Telegram/lib_tl/tl/tl_basic_types.h:212:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	[[nodiscard]] bool read(const Prime *&from, const Prime *end, uint32 cons = id_long) {
data/telegram-desktop-2.2.0+ds/Telegram/lib_tl/tl/tl_basic_types.h:256:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	[[nodiscard]] bool read(const Prime *&from, const Prime *end, uint32 cons = id_int128) {
data/telegram-desktop-2.2.0+ds/Telegram/lib_tl/tl/tl_basic_types.h:302:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	[[nodiscard]] bool read(const Prime *&from, const Prime *end, uint32 cons = id_int256) {
data/telegram-desktop-2.2.0+ds/Telegram/lib_tl/tl/tl_basic_types.h:306:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		return l.read(from, end) && h.read(from, end);
data/telegram-desktop-2.2.0+ds/Telegram/lib_tl/tl/tl_basic_types.h:306:33:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		return l.read(from, end) && h.read(from, end);
data/telegram-desktop-2.2.0+ds/Telegram/lib_tl/tl/tl_basic_types.h:341:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	[[nodiscard]] bool read(const Prime *&from, const Prime *end, uint32 cons = id_double) {
data/telegram-desktop-2.2.0+ds/Telegram/lib_tl/tl/tl_basic_types.h:388:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	[[nodiscard]] bool read(const Prime *&from, const Prime *end, uint32 cons = id_string) {
data/telegram-desktop-2.2.0+ds/Telegram/lib_tl/tl/tl_basic_types.h:483:35:  [1] (buffer) strlen:
  Does not handle strings that are not \0-terminated; if given one it may
  perform an over-read (it could cause a crash if unprotected) (CWE-126).
	return string_type(QByteArray(v, strlen(v)));
data/telegram-desktop-2.2.0+ds/Telegram/lib_tl/tl/tl_basic_types.h:536:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	[[nodiscard]] bool read(const Prime *&from, const Prime *end, uint32 cons = id_vector) {
data/telegram-desktop-2.2.0+ds/Telegram/lib_tl/tl/tl_basic_types.h:544:14:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
			if (!item.read(from, end)) {
data/telegram-desktop-2.2.0+ds/Telegram/lib_tl/tl/tl_boxed.h:34:21:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	[[nodiscard]] bool read(const Prime *&from, const Prime *end, uint32 cons = 0) {
data/telegram-desktop-2.2.0+ds/Telegram/lib_tl/tl/tl_boxed.h:39:16:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		return bare::read(from, end, cons);
data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/emoji_config.cpp:267:12:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		return f.read(
data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/emoji_config.cpp:273:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	if (!read(bytes::make_span(header))
data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/emoji_config.cpp:289:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
	if (!read(data)
data/telegram-desktop-2.2.0+ds/Telegram/lib_ui/ui/emoji_config.cpp:290:7:  [1] (buffer) read:
  Check buffer boundaries if used in a loop including recursive loops
  (CWE-120, CWE-20).
		|| !read(signature)

ANALYSIS SUMMARY:

Hits = 765
Lines analyzed = 435812 in approximately 9.64 seconds (45206 lines/second)
Physical Source Lines of Code (SLOC) = 359881
Hits@level = [0]   5 [1] 259 [2] 342 [3]  25 [4] 135 [5]   4
Hits@level+ = [0+] 770 [1+] 765 [2+] 506 [3+] 164 [4+] 139 [5+]   4
Hits/KSLOC@level+ = [0+] 2.1396 [1+] 2.1257 [2+] 1.40602 [3+] 0.455706 [4+] 0.386239 [5+] 0.0111148
Dot directories skipped = 2 (--followdotdir overrides)
Minimum risk level = 1
Not every hit is necessarily a security vulnerability.
There may be other security vulnerabilities; review your code!
See 'Secure Programming HOWTO'
(https://dwheeler.com/secure-programs) for more information.