From ffa09959edd087794b1f2fe6b9b6faac484ef74b Mon Sep 17 00:00:00 2001 From: Michael Stahl Date: Fri, 6 May 2022 12:21:50 +0200 Subject: svl: fix crash if user cancels/closes master password dialog MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit (regression from d7ba5614d90381d68f880ca7e7c5ef8bbb1b1c43) Change-Id: I8bb9a967aefa2e88f05c23456a0dd1a090e1a5fb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133932 Tested-by: Jenkins Reviewed-by: Michael Stahl (cherry picked from commit bbb8617ece6d946957c2eb96287081029bce530f) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133864 Reviewed-by: Caolán McNamara Reviewed-by: Christian Lohmaier --- svl/source/passwordcontainer/passwordcontainer.cxx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/svl/source/passwordcontainer/passwordcontainer.cxx b/svl/source/passwordcontainer/passwordcontainer.cxx index 7f4ae8543764..e4606a9a900d 100644 --- a/svl/source/passwordcontainer/passwordcontainer.cxx +++ b/svl/source/passwordcontainer/passwordcontainer.cxx @@ -1098,8 +1098,10 @@ sal_Bool SAL_CALL PasswordContainer::authorizateWithMasterPassword( const uno::R do { aPass = RequestPasswordFromUser( aRMode, xTmpHandler ); - if (m_pStorageFile->getStorageVersion() == 0) + if (!aPass.isEmpty() && m_pStorageFile->getStorageVersion() == 0) + { aPass = ReencodeAsOldHash(aPass); + } bResult = ( !aPass.isEmpty() && aPass == m_aMasterPasswd ); aRMode = PasswordRequestMode_PASSWORD_REENTER; // further questions with error notification -- cgit