Skip to content
Snippets Groups Projects
Commit 6359b98b authored by Alexandre Lision's avatar Alexandre Lision Committed by Emmanuel Lepage Vallee
Browse files

vcard: trivial test for malformatted URL

OSX can add custom fields which could cause array overflows
(e.g: item1.X-ABADR:ca)

Refs #68376
parent b08c465a
Branches
Tags
No related merge requests found
...@@ -130,13 +130,19 @@ struct VCardMapper { ...@@ -130,13 +130,19 @@ struct VCardMapper {
void addAddress(Person* c, const QString& key, const QByteArray& fn) { void addAddress(Person* c, const QString& key, const QByteArray& fn) {
Person::Address* addr = new Person::Address(); Person::Address* addr = new Person::Address();
QList<QByteArray> fields = fn.split(VCardUtils::Delimiter::SEPARATOR_TOKEN[0]); QList<QByteArray> fields = fn.split(VCardUtils::Delimiter::SEPARATOR_TOKEN[0]);
QStringList keyFields = key.split(VCardUtils::Delimiter::SEPARATOR_TOKEN);
addr->setType (key.split(VCardUtils::Delimiter::SEPARATOR_TOKEN)[1] ); if(keyFields.size() < 2 || fields.size() < 7) {
addr->setAddressLine (QString::fromUtf8(fields[2]) ); qDebug() << "Malformatted Address";
addr->setCity (QString::fromUtf8(fields[3]) ); return;
addr->setState (QString::fromUtf8(fields[4]) ); }
addr->setZipCode (QString::fromUtf8(fields[5]) );
addr->setCountry (QString::fromUtf8(fields[6]) ); addr->setType (keyFields[1] );
addr->setAddressLine (QString::fromUtf8(fields[2]) );
addr->setCity (QString::fromUtf8(fields[3]) );
addr->setState (QString::fromUtf8(fields[4]) );
addr->setZipCode (QString::fromUtf8(fields[5]) );
addr->setCountry (QString::fromUtf8(fields[6]) );
c->addAddress(addr); c->addAddress(addr);
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment