From e17513956503963f4d468342a5be6a0967aca97c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Andriot?= Date: Sun, 7 Sep 2014 00:51:50 +0200 Subject: [PATCH] Fix FTBFS on Linux specific memlock code --- src/tools/qstring.cpp | 6 ++++++ src/widgets/qlineedit.cpp | 2 ++ 2 files changed, 8 insertions(+) diff --git a/src/tools/qstring.cpp b/src/tools/qstring.cpp index 210848c..1c796fe 100644 --- a/src/tools/qstring.cpp +++ b/src/tools/qstring.cpp @@ -1075,9 +1075,11 @@ QStringData::~QStringData() { if ( unicode ) { delete[] ((char*)unicode); } +#if defined(Q_OS_LINUX) if ( ascii && security_unpaged ) { munlock(ascii, LINUX_MEMLOCK_LIMIT_BYTES); } +#endif if ( ascii ) { delete[] ascii; } @@ -5953,15 +5955,19 @@ const char* QString::ascii() const void QString::setSecurityUnPaged(bool lock) { if (lock != d->security_unpaged) { if (d->security_unpaged) { +#if defined(Q_OS_LINUX) if (d->ascii) { munlock(d->ascii, LINUX_MEMLOCK_LIMIT_BYTES); } +#endif d->security_unpaged = false; } else { +#if defined(Q_OS_LINUX) if (d->ascii) { mlock(d->ascii, LINUX_MEMLOCK_LIMIT_BYTES); } +#endif d->security_unpaged = true; } } diff --git a/src/widgets/qlineedit.cpp b/src/widgets/qlineedit.cpp index 2a71656..629e17e 100644 --- a/src/widgets/qlineedit.cpp +++ b/src/widgets/qlineedit.cpp @@ -461,7 +461,9 @@ QLineEdit::~QLineEdit() { if ((d->echoMode == NoEcho) || (d->echoMode == Password) || (d->echoMode == PasswordThreeStars)) { d->text.fill(QChar(0)); +#if defined(Q_OS_LINUX) munlock(d->text.d->unicode, LINUX_MEMLOCK_LIMIT_BYTES); +#endif } delete [] d->maskData; delete d;