Fix KeePass2Repair to retain multi-byte UTF-8 chars.

Since char is (often) unsigned the ch < 0x20 check matched all
multi-byte encoded UTF-8 chars.
This commit is contained in:
Felix Geyer 2016-02-02 00:41:16 +01:00
parent 8a92cec03f
commit 208b803fbe
3 changed files with 3 additions and 3 deletions

View file

@ -66,7 +66,7 @@ KeePass2Repair::RepairResult KeePass2Repair::repairDatabase(QIODevice* device, c
// try to fix broken databases because of bug #392
for (int i = (xmlData.size() - 1); i >= 0; i--) {
char ch = xmlData.at(i);
quint8 ch = static_cast<quint8>(xmlData.at(i));
if (ch < 0x20 && ch != 0x09 && ch != 0x0A && ch != 0x0D) {
xmlData.remove(i, 1);
repairAction = true;