parse seek head only when source available

Change-Id: Iba3b9e46d0cb28fd91a2a7062c6aa4bac3f72c0c
This commit is contained in:
matthewjheaney 2010-11-29 17:11:38 -05:00
parent cb7b24880f
commit 6c45ab2d4c

View File

@ -976,8 +976,9 @@ long long Segment::ParseHeaders()
//inner (level 1) elements.
long long total, available;
long hr = m_pReader->Length(&total, &available);
assert(hr >= 0);
const int status = m_pReader->Length(&total, &available);
assert(status == 0);
assert(total >= 0);
assert(available <= total);
const long long stop = m_start + m_size;
@ -1064,7 +1065,8 @@ long long Segment::ParseHeaders()
}
else if (id == 0x014D9B74) //SeekHead ID
{
ParseSeekHead(pos, size);
if (available >= total)
ParseSeekHead(pos, size);
}
m_pos = pos + size; //consume payload