mirror of
https://github.com/dashpay/dash.git
synced 2024-12-27 04:52:59 +01:00
Merge #8073: qt: askpassphrasedialog: Clear pass fields on accept
02ce2a3
qt: askpassphrasedialog: Clear pass fields on accept (Pavel Vasin)
This commit is contained in:
commit
eb2f6f72db
@ -77,10 +77,7 @@ AskPassphraseDialog::AskPassphraseDialog(Mode mode, QWidget *parent) :
|
|||||||
|
|
||||||
AskPassphraseDialog::~AskPassphraseDialog()
|
AskPassphraseDialog::~AskPassphraseDialog()
|
||||||
{
|
{
|
||||||
// Attempt to overwrite text so that they do not linger around in memory
|
secureClearPassFields();
|
||||||
ui->passEdit1->setText(QString(" ").repeated(ui->passEdit1->text().size()));
|
|
||||||
ui->passEdit2->setText(QString(" ").repeated(ui->passEdit2->text().size()));
|
|
||||||
ui->passEdit3->setText(QString(" ").repeated(ui->passEdit3->text().size()));
|
|
||||||
delete ui;
|
delete ui;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -103,6 +100,8 @@ void AskPassphraseDialog::accept()
|
|||||||
newpass1.assign(ui->passEdit2->text().toStdString().c_str());
|
newpass1.assign(ui->passEdit2->text().toStdString().c_str());
|
||||||
newpass2.assign(ui->passEdit3->text().toStdString().c_str());
|
newpass2.assign(ui->passEdit3->text().toStdString().c_str());
|
||||||
|
|
||||||
|
secureClearPassFields();
|
||||||
|
|
||||||
switch(mode)
|
switch(mode)
|
||||||
{
|
{
|
||||||
case Encrypt: {
|
case Encrypt: {
|
||||||
@ -260,3 +259,17 @@ bool AskPassphraseDialog::eventFilter(QObject *object, QEvent *event)
|
|||||||
}
|
}
|
||||||
return QDialog::eventFilter(object, event);
|
return QDialog::eventFilter(object, event);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void SecureClearQLineEdit(QLineEdit* edit)
|
||||||
|
{
|
||||||
|
// Attempt to overwrite text so that they do not linger around in memory
|
||||||
|
edit->setText(QString(" ").repeated(edit->text().size()));
|
||||||
|
edit->clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
void AskPassphraseDialog::secureClearPassFields()
|
||||||
|
{
|
||||||
|
SecureClearQLineEdit(ui->passEdit1);
|
||||||
|
SecureClearQLineEdit(ui->passEdit2);
|
||||||
|
SecureClearQLineEdit(ui->passEdit3);
|
||||||
|
}
|
||||||
|
@ -42,6 +42,7 @@ private:
|
|||||||
|
|
||||||
private Q_SLOTS:
|
private Q_SLOTS:
|
||||||
void textChanged();
|
void textChanged();
|
||||||
|
void secureClearPassFields();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
bool event(QEvent *event);
|
bool event(QEvent *event);
|
||||||
|
Loading…
Reference in New Issue
Block a user