Kaydet (Commit) 361d5819 authored tarafından Michael Stahl's avatar Michael Stahl

uui: fix use-after-free on password dialog

VclPtr returned from CreatePasswordToOpenModifyDialog implicitly
converts to plain pointer then deletes the dialog.

(regression from some vclptr refactoring)

Change-Id: I4ccdeabcd6ee718104c0f7f65d67a20ce2c70ca3
üst e9da91fd
......@@ -528,8 +528,8 @@ executePasswordDialog(
const sal_uInt16 nMaxPasswdLen = bMSCryptoMode ? 15 : 0; // 0 -> allow any length
VclAbstractDialogFactory * pFact = VclAbstractDialogFactory::Create();
AbstractPasswordToOpenModifyDialog *pTmp = pFact->CreatePasswordToOpenModifyDialog( pParent, nMaxPasswdLen, bIsPasswordToModify );
ScopedVclPtr< AbstractPasswordToOpenModifyDialog > pDialog( pTmp );
ScopedVclPtr<AbstractPasswordToOpenModifyDialog> const pDialog(
pFact->CreatePasswordToOpenModifyDialog(pParent, nMaxPasswdLen, bIsPasswordToModify));
rInfo.SetResult( pDialog->Execute() == RET_OK ? ERRCODE_BUTTON_OK : ERRCODE_BUTTON_CANCEL );
rInfo.SetPassword( pDialog->GetPasswordToOpen() );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment