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:
parent
6b5b4e474e
commit
e7ad0e296e
@ -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)) {
|
||||||
|
Loading…
Reference in New Issue
Block a user