diff --git a/src/cli/Merge.cpp b/src/cli/Merge.cpp index 39dcf21f..5bd926eb 100644 --- a/src/cli/Merge.cpp +++ b/src/cli/Merge.cpp @@ -79,6 +79,9 @@ int Merge::execute(const QStringList& arguments) QSharedPointer db2; if (!parser.isSet("same-credentials")) { db2 = Utils::unlockDatabase(args.at(1), parser.value(keyFileFromOption), Utils::STDOUT, Utils::STDERR); + if (!db2) { + return EXIT_FAILURE; + } } else { db2 = QSharedPointer::create(); QString errorMessage; diff --git a/src/cli/Utils.cpp b/src/cli/Utils.cpp index 26434669..a1513a7f 100644 --- a/src/cli/Utils.cpp +++ b/src/cli/Utils.cpp @@ -135,8 +135,13 @@ QSharedPointer unlockDatabase(const QString& databaseFilename, } auto db = QSharedPointer::create(); - db->open(databaseFilename, compositeKey, nullptr, false); - return db; + QString error; + if (db->open(databaseFilename, compositeKey, &error, false)) { + return db; + } else { + err << error << endl; + return {}; + } } /**