[Libreoffice-commits] core.git: Branch 'feature/cib_contract3756' - oox/source
Vasily Melenchuk (via logerrit)
logerrit at kemper.freedesktop.org
Thu Nov 21 18:13:39 UTC 2019
oox/source/core/filterdetect.cxx | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
New commits:
commit 5c63257d54023648542ef64e022110b8ca7657ed
Author: Vasily Melenchuk <vasily.melenchuk at cib.de>
AuthorDate: Thu Nov 21 21:11:02 2019 +0300
Commit: Vasily Melenchuk <vasily.melenchuk at cib.de>
CommitDate: Thu Nov 21 21:11:02 2019 +0300
oox: exception on password veryfy attempt is ending loop
If we receive an exception on createEncryptionData() there is
no reason to ask user for another password.
Change-Id: I7fa0949c737af20396ae7958e0e80d97af7cfe10
diff --git a/oox/source/core/filterdetect.cxx b/oox/source/core/filterdetect.cxx
index 4ee15678538a..9cd0bf3199ea 100644
--- a/oox/source/core/filterdetect.cxx
+++ b/oox/source/core/filterdetect.cxx
@@ -265,8 +265,16 @@ PasswordVerifier::PasswordVerifier( DocumentDecryption& aDecryptor ) :
comphelper::DocPasswordVerifierResult PasswordVerifier::verifyPassword( const OUString& rPassword, Sequence<NamedValue>& rEncryptionData )
{
- if(mDecryptor.generateEncryptionKey(rPassword))
- rEncryptionData = mDecryptor.createEncryptionData(rPassword);
+ try
+ {
+ if (mDecryptor.generateEncryptionKey(rPassword))
+ rEncryptionData = mDecryptor.createEncryptionData(rPassword);
+ }
+ catch (...)
+ {
+ // Any exception is a reason to abort
+ return comphelper::DocPasswordVerifierResult::Abort;
+ }
return rEncryptionData.hasElements() ? comphelper::DocPasswordVerifierResult::OK : comphelper::DocPasswordVerifierResult::WrongPassword;
}
More information about the Libreoffice-commits
mailing list