Skip to content

Commit 4367e86

Browse files
committed
More error handling
1 parent 8e7ad35 commit 4367e86

14 files changed

+86
-9
lines changed
Binary file not shown.

DVIA-v2/DVIA-v2/Vulnerabilities/Insecure Data Storage/Controller/CoreDataViewController.swift

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,11 @@ class CoreDataViewController: UIViewController {
3131

3232
@IBAction func saveInCoreDataTapped(_ sender: Any) {
3333

34+
if nameTextField.text?.isEmpty ?? true || emailTextField.text?.isEmpty ?? true || passwordTextField.text?.isEmpty ?? true || phoneTextField.text?.isEmpty ?? true {
35+
DVIAUtilities.showAlert(title: "Error", message: "One or more input fields is empty.", viewController: self)
36+
return
37+
}
38+
3439
if #available(iOS 10.0, *) {
3540
let context = CoreDataStack.shared.persistentContainer.viewContext
3641
let newUser = NSEntityDescription.insertNewObject(forEntityName: "User", into: context) as? User

DVIA-v2/DVIA-v2/Vulnerabilities/Insecure Data Storage/Controller/CouchbaseLiteViewController.swift

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,10 @@ class CouchbaseLiteViewController: UIViewController {
2626
}
2727

2828
@IBAction func saveInCouchbaseTapped(_ sender: Any) {
29+
if couchbaseUserName.text?.isEmpty ?? true || couchbasePassword.text?.isEmpty ?? true {
30+
DVIAUtilities.showAlert(title: "Error", message: "One or more input fields is empty.", viewController: self)
31+
return
32+
}
2933
let database: CBLDatabase = try! CBLManager.sharedInstance().databaseNamed("dvcouchbasedb")
3034
guard let username = couchbaseUserName.text else { return }
3135
guard let password = couchbasePassword.text else { return }

DVIA-v2/DVIA-v2/Vulnerabilities/Insecure Data Storage/Controller/KeychainViewController.swift

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,10 @@ class KeychainViewController: UIViewController {
2727
}
2828

2929
@IBAction func saveInKeychainTapped(_ sender: Any) {
30+
if keychainTextField.text?.isEmpty ?? true {
31+
DVIAUtilities.showAlert(title: "Error", message: "One or more input fields is empty.", viewController: self)
32+
return
33+
}
3034
let bindings = PDKeychainBindings.shared()
3135
bindings?.setObject(keychainTextField.text, forKey: "keychainValue")
3236
DVIAUtilities.showAlert(title: "", message: "Data saved in Keychain", viewController: self)

DVIA-v2/DVIA-v2/Vulnerabilities/Insecure Data Storage/Controller/PListViewController.swift

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,10 @@ class PListViewController: UIViewController {
2929
}
3030

3131
@IBAction func saveInPlistFileTapped(_ sender: Any) {
32-
32+
if usernameTextField.text?.isEmpty ?? true || passwordTextField.text?.isEmpty ?? true {
33+
DVIAUtilities.showAlert(title: "Error", message: "One or more input fields is empty.", viewController: self)
34+
return
35+
}
3336
func documentsDirectory() -> String {
3437
let paths = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)
3538
let documentsDirectory = paths.first!

DVIA-v2/DVIA-v2/Vulnerabilities/Insecure Data Storage/Controller/RealmViewController.swift

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,10 @@ class RealmViewController: UIViewController {
2929
}
3030

3131
@IBAction func saveInRealmTapped(_ sender: Any) {
32+
if realmUserNameTextField.text?.isEmpty ?? true || realmPasswordTextField.text?.isEmpty ?? true {
33+
DVIAUtilities.showAlert(title: "Error", message: "One or more input fields is empty.", viewController: self)
34+
return
35+
}
3236
let realm: Realm = try! Realm()
3337
let user = RealmUser()
3438
user.name = realmUserNameTextField.text

DVIA-v2/DVIA-v2/Vulnerabilities/Insecure Data Storage/Controller/UserDefaultsViewController.swift

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,10 @@ class UserDefaultsViewController: UIViewController {
2727
}
2828

2929
@IBAction func saveInUserDefaultsTapped(_ sender: Any) {
30+
if userDefaultsTextField.text?.isEmpty ?? true {
31+
DVIAUtilities.showAlert(title: "Error", message: "One or more input fields is empty.", viewController: self)
32+
return
33+
}
3034
let defaults: UserDefaults? = UserDefaults.standard
3135
defaults?.set(userDefaultsTextField.text, forKey: "DemoValue")
3236
defaults?.synchronize()

DVIA-v2/DVIA-v2/Vulnerabilities/Insecure Data Storage/Controller/YapDatabaseViewController.swift

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,10 @@ class YapDatabaseViewController: UIViewController {
3030
}
3131

3232
@IBAction func saveInYapDatabaseTapped(_ sender: Any) {
33+
if yapDatabaseUsername.text?.isEmpty ?? true || yapDatabasePassword.text?.isEmpty ?? true {
34+
DVIAUtilities.showAlert(title: "Error", message: "One or more input fields is empty.", viewController: self)
35+
return
36+
}
3337
let databaseName = "YapDatabase.sqlite"
3438
let baseUrl = try! FileManager.default.url(for: .applicationSupportDirectory, in: .userDomainMask, appropriateFor: nil, create: true)
3539
let databaseUrl = baseUrl.appendingPathComponent(databaseName, isDirectory: false)

DVIA-v2/DVIA-v2/Vulnerabilities/Side Channel Data Leakage/Controller/AppScreenshotViewController.swift

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,17 @@
1515

1616
import UIKit
1717

18-
class AppScreenshotViewController: UIViewController {
18+
class AppScreenshotViewController: UIViewController, UITextFieldDelegate {
1919

2020
override func viewDidLoad() {
2121
super.viewDidLoad()
2222
self.navigationItem.title = "App Screenshot"
2323
// Do any additional setup after loading the view.
2424
}
25-
25+
26+
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
27+
textField.resignFirstResponder()
28+
return true
29+
}
2630

2731
}

DVIA-v2/DVIA-v2/Vulnerabilities/Side Channel Data Leakage/Controller/CookiesViewController.swift

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,7 @@ extension CookiesViewController: UITextFieldDelegate {
5252
textField.resignFirstResponder()
5353
return true
5454
}
55-
56-
55+
5756
func setSharedCookies() {
5857

5958
var components = DateComponents()

0 commit comments

Comments
 (0)