Avoid indexes out of range when processing v1 updated session data

This commit is contained in:
Luis Ángel San Martín 2021-04-10 09:51:14 +02:00
parent 8c81f26384
commit b447226bc1

View File

@ -102,12 +102,23 @@ void RequestMapper::loadSessionV1(HttpRequest &request, HttpResponse &response)
QList<QString> data = postData.split("\n");
if (data.length() > 2) {
ySession->setDeviceType(data.at(0).split(":").at(1));
ySession->setDisplayType(data.at(1).split(":").at(1));
QList<QString> comics = data.at(2).split(":").at(1).split("\t");
auto deviceTypeData = data.at(0).split(":");
if (deviceTypeData.length() == 2) {
ySession->setDeviceType(deviceTypeData.at(1));
}
auto displayTypeData = data.at(1).split(":");
if (displayTypeData.length() == 2) {
ySession->setDisplayType(displayTypeData.at(1));
}
auto comicsData = data.at(2).split(":");
if (comicsData.length() == 2) {
QList<QString> comics = comicsData.at(1).split("\t");
foreach (QString hash, comics) {
ySession->setComicOnDevice(hash);
}
}
} else //values by default, only for debug purposes.
{
ySession->setDeviceType("ipad");