mirror of
https://github.com/Xahau/xahaud.git
synced 2025-12-06 17:27:52 +00:00
Bugfixes.
This commit is contained in:
@@ -81,7 +81,7 @@ int Serializer::addRaw(const void *ptr, int len)
|
|||||||
bool Serializer::get16(uint16& o, int offset) const
|
bool Serializer::get16(uint16& o, int offset) const
|
||||||
{
|
{
|
||||||
if ((offset + 2) > mData.size()) return false;
|
if ((offset + 2) > mData.size()) return false;
|
||||||
o = mData.at(++offset);
|
o = mData.at(offset++);
|
||||||
o <<= 8; o |= mData.at(offset);
|
o <<= 8; o |= mData.at(offset);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -89,8 +89,8 @@ bool Serializer::get16(uint16& o, int offset) const
|
|||||||
bool Serializer::get32(uint32& o, int offset) const
|
bool Serializer::get32(uint32& o, int offset) const
|
||||||
{
|
{
|
||||||
if ((offset + 4) > mData.size()) return false;
|
if ((offset + 4) > mData.size()) return false;
|
||||||
o=mData.at(++offset);
|
o=mData.at(offset++);
|
||||||
o<<=8; o |= mData.at(++offset); o <<= 8; o |= mData.at(++offset);
|
o<<=8; o |= mData.at(offset++); o <<= 8; o |= mData.at(offset++);
|
||||||
o<<=8; o |= mData.at(offset);
|
o<<=8; o |= mData.at(offset);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -98,10 +98,10 @@ bool Serializer::get32(uint32& o, int offset) const
|
|||||||
bool Serializer::get64(uint64& o, int offset) const
|
bool Serializer::get64(uint64& o, int offset) const
|
||||||
{
|
{
|
||||||
if ((offset + 8) > mData.size()) return false;
|
if ((offset + 8) > mData.size()) return false;
|
||||||
o=mData.at(++offset);
|
o=mData.at(offset++);
|
||||||
o<<=8; o|= mData.at(++offset); o <<= 8; o |= mData.at(++offset);
|
o<<=8; o|= mData.at(offset++); o <<= 8; o |= mData.at(offset++);
|
||||||
o<<=8; o|= mData.at(++offset); o <<= 8; o |= mData.at(++offset);
|
o<<=8; o|= mData.at(offset++); o <<= 8; o |= mData.at(offset++);
|
||||||
o<<=8; o|= mData.at(++offset); o <<= 8; o |= mData.at(++offset);
|
o<<=8; o|= mData.at(offset++); o <<= 8; o |= mData.at(offset++);
|
||||||
o<<=8; o|= mData.at(offset);
|
o<<=8; o|= mData.at(offset);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -390,12 +390,12 @@ bool Serializer::getTaggedList(std::list<TaggedListItem>& list, int offset, int&
|
|||||||
list.clear();
|
list.clear();
|
||||||
int startOffset = offset;
|
int startOffset = offset;
|
||||||
int numElem;
|
int numElem;
|
||||||
if (!get8(numElem, ++offset)) return false;
|
if (!get8(numElem, offset++)) return false;
|
||||||
for (int i = 0; i<numElem; i++)
|
for (int i = 0; i<numElem; i++)
|
||||||
{
|
{
|
||||||
int tag, len;
|
int tag, len;
|
||||||
std::vector<unsigned char> data;
|
std::vector<unsigned char> data;
|
||||||
if (!get8(tag, ++offset)) return false;
|
if (!get8(tag, offset++)) return false;
|
||||||
if (!getVL(data, offset, len)) return false;
|
if (!getVL(data, offset, len)) return false;
|
||||||
offset += len;
|
offset += len;
|
||||||
list.push_back(std::make_pair(tag, data));
|
list.push_back(std::make_pair(tag, data));
|
||||||
@@ -409,12 +409,12 @@ bool Serializer::getTaggedList(std::vector<TaggedListItem>& list, int offset, in
|
|||||||
list.clear();
|
list.clear();
|
||||||
int startOffset=offset;
|
int startOffset=offset;
|
||||||
int numElem;
|
int numElem;
|
||||||
if (!get8(numElem, ++offset)) return false;
|
if (!get8(numElem, offset++)) return false;
|
||||||
for (int i=0; i<numElem; i++)
|
for (int i=0; i<numElem; i++)
|
||||||
{
|
{
|
||||||
int tag, len;
|
int tag, len;
|
||||||
std::vector<unsigned char> data;
|
std::vector<unsigned char> data;
|
||||||
if (!get8(tag, ++offset)) return false;
|
if (!get8(tag, offset++)) return false;
|
||||||
if (!getVL(data, offset, len)) return false;
|
if (!getVL(data, offset, len)) return false;
|
||||||
offset += len;
|
offset += len;
|
||||||
list.push_back(std::make_pair(tag, data));
|
list.push_back(std::make_pair(tag, data));
|
||||||
|
|||||||
Reference in New Issue
Block a user