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