1
0
mirror of https://github.com/moparisthebest/k-9 synced 2024-11-27 11:42:16 -05:00

Validate account UUID on import

This commit is contained in:
cketti 2011-10-17 23:33:32 +02:00
parent 6b5b4e474e
commit e7ad0e296e

View File

@ -761,7 +761,9 @@ public class SettingsImporter {
ImportedAccount account = parseAccount(xpp, accountUuids, overview); ImportedAccount account = parseAccount(xpp, accountUuids, overview);
if (!accounts.containsKey(account.uuid)) { if (account == null) {
// Do nothing - parseAccount() already logged a message
} else if (!accounts.containsKey(account.uuid)) {
accounts.put(account.uuid, account); accounts.put(account.uuid, account);
} else { } else {
Log.w(K9.LOG_TAG, "Duplicate account entries with UUID " + account.uuid + Log.w(K9.LOG_TAG, "Duplicate account entries with UUID " + account.uuid +
@ -781,9 +783,17 @@ public class SettingsImporter {
boolean overview) boolean overview)
throws XmlPullParserException, IOException { throws XmlPullParserException, IOException {
ImportedAccount account = new ImportedAccount();
String uuid = xpp.getAttributeValue(null, SettingsExporter.UUID_ATTRIBUTE); String uuid = xpp.getAttributeValue(null, SettingsExporter.UUID_ATTRIBUTE);
try {
UUID.fromString(uuid);
} catch (Exception e) {
skipToEndTag(xpp, SettingsExporter.ACCOUNT_ELEMENT);
Log.w(K9.LOG_TAG, "Skipping account with invalid UUID " + uuid);
return null;
}
ImportedAccount account = new ImportedAccount();
account.uuid = uuid; account.uuid = uuid;
if (overview || accountUuids.contains(uuid)) { if (overview || accountUuids.contains(uuid)) {