From 405230c0c6d69cb2eee8b1d671290ed6acd77ca4 Mon Sep 17 00:00:00 2001 From: John Preston Date: Mon, 6 Feb 2023 12:24:08 +0400 Subject: [PATCH] Don't request settings of unknown peers. --- Telegram/SourceFiles/apiwrap.cpp | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/Telegram/SourceFiles/apiwrap.cpp b/Telegram/SourceFiles/apiwrap.cpp index 4f79f2f3e..f30b54c61 100644 --- a/Telegram/SourceFiles/apiwrap.cpp +++ b/Telegram/SourceFiles/apiwrap.cpp @@ -1727,6 +1727,29 @@ void ApiWrap::leaveChannel(not_null channel) { } void ApiWrap::requestNotifySettings(const MTPInputNotifyPeer &peer) { + const auto bad = peer.match([](const MTPDinputNotifyUsers &) { + return false; + }, [](const MTPDinputNotifyChats &) { + return false; + }, [](const MTPDinputNotifyBroadcasts &) { + return false; + }, [&](const MTPDinputNotifyPeer &data) { + if (data.vpeer().type() == mtpc_inputPeerEmpty) { + LOG(("Api Error: Requesting settings for empty peer.")); + return true; + } + return false; + }, [&](const MTPDinputNotifyForumTopic &data) { + if (data.vpeer().type() == mtpc_inputPeerEmpty) { + LOG(("Api Error: Requesting settings for empty peer topic.")); + return true; + } + return false; + }); + if (bad) { + return; + } + const auto peerFromInput = [&](const MTPInputPeer &inputPeer) { return inputPeer.match([&](const MTPDinputPeerSelf &) { return _session->userPeerId();