Fix contact parsing

pull/70/head
Niels Andriesse 5 years ago
parent 7fe2cc7511
commit 9435c6dd1d

@ -10,8 +10,11 @@
var index = 0
var result: [String] = []
while index < data.endIndex {
let uncheckedSize: UInt32? = try? data[index..<(index+4)].withUnsafeBytes { $0.pointee }
guard let size = uncheckedSize else { break }
var uncheckedSize: UInt32? = try? data[index..<(index+4)].withUnsafeBytes { $0.pointee }
if let size = uncheckedSize, size >= data.count, let intermediate = try? data[index..<(index+4)].reversed() {
uncheckedSize = Data(intermediate).withUnsafeBytes { $0.pointee }
}
guard let size = uncheckedSize, size < data.count else { break }
let sizeAsInt = Int(size)
index += 4
guard index + sizeAsInt < data.count else { break }

Loading…
Cancel
Save