diff --git a/submodules/TelegramApi/Sources/Buffer.swift b/submodules/TelegramApi/Sources/Buffer.swift index 4a58e1f7bf..8ec5a23b82 100644 --- a/submodules/TelegramApi/Sources/Buffer.swift +++ b/submodules/TelegramApi/Sources/Buffer.swift @@ -363,13 +363,16 @@ public class BufferReader { if count == 0 { return 0 } - else if count > 0 && count <= 4 || self.offset + UInt(count) <= self.buffer._size { - var value: Int32 = 0 - memcpy(&value, self.buffer.data?.advanced(by: Int(self.offset)), count) - self.offset += UInt(count) - return value + guard count > 0, count <= 4, self.offset + UInt(count) <= self.buffer._size else { + return nil } - return nil + guard let bufferData = self.buffer.data else { + return nil + } + var value: Int32 = 0 + memcpy(&value, bufferData.advanced(by: Int(self.offset)), count) + self.offset += UInt(count) + return value } public func readBuffer(_ count: Int) -> Buffer? {