fix bug: bad offset into avatar data during decode

This commit is contained in:
Andrew Meadows 2014-03-17 18:23:09 -07:00
parent 679d09610c
commit 75ab970c0d

View file

@ -152,6 +152,7 @@ void AvatarManager::processAvatarDataPacket(const QByteArray &datagram, const QW
// only add them if mixerWeakPointer points to something (meaning that mixer is still around)
while (bytesRead < datagram.size() && mixerWeakPointer.data()) {
QUuid nodeUUID = QUuid::fromRfc4122(datagram.mid(bytesRead, NUM_BYTES_RFC4122_UUID));
bytesRead += NUM_BYTES_RFC4122_UUID;
AvatarSharedPointer matchingAvatar = _avatarHash.value(nodeUUID);
@ -167,7 +168,6 @@ void AvatarManager::processAvatarDataPacket(const QByteArray &datagram, const QW
qDebug() << "Adding avatar with UUID" << nodeUUID << "to AvatarManager hash.";
}
// have the matching (or new) avatar parse the data from the packet
bytesRead += matchingAvatar->parseDataAtOffset(datagram, bytesRead);
}