From 7fa276aae6c8fae32b600f30887b20dcd3f4dbac Mon Sep 17 00:00:00 2001 From: Jonathan Schleifer Date: Fri, 3 Jan 2020 01:19:45 +0100 Subject: [PATCH] iOS: Update to recent changes --- iOS/ShowDetailsController.swift | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/iOS/ShowDetailsController.swift b/iOS/ShowDetailsController.swift index 895064a..438718d 100644 --- a/iOS/ShowDetailsController.swift +++ b/iOS/ShowDetailsController.swift @@ -151,8 +151,13 @@ class ShowDetailsController: UITableViewController, UITextFieldDelegate { } let passphraseText = (passphraseField?.text ?? "") as NSString - let passphrase = of_strdup(passphraseText.utf8String!)! - generator.passphrase = UnsafePointer(passphrase) + let passphraseLen = + passphraseText.lengthOfBytes(using: String.Encoding.utf8.rawValue) + let passphrase = OFSecureData(count: passphraseLen, + allowsSwappableMemory: false) + memcpy(passphrase.mutableItems, passphraseText.utf8String!, + passphraseLen) + generator.passphrase = passphrase let mainStoryboard = UIStoryboard(name: "Main", bundle: nil) let activityController = mainStoryboard.instantiateViewController( @@ -160,22 +165,12 @@ class ShowDetailsController: UITableViewController, UITextFieldDelegate { navigationController?.view.addSubview(activityController.view) DispatchQueue.global(qos: .default).async { - OFException.try({ - generator.derivePassword() - }, finally: { - if let keyFile = generator.keyFile as? OFMutableData { - of_explicit_memset(keyFile.mutableItems, 0, keyFile.count) - } - - of_explicit_memset(passphrase, 0, strlen(passphrase)) - free(passphrase) - }) + generator.derivePassword() } - let password = NSMutableString(bytes: generator.output, + let password = NSMutableString(bytes: generator.output.items, length: generator.length, encoding: String.Encoding.utf8.rawValue)! - of_explicit_memset(generator.output, 0, generator.length) DispatchQueue.main.sync { activityController.view.isHidden = true