- Entry = segment->IndexEntryArray[(ui32_t) tmp];
- Entry.StreamOffset = Entry.StreamOffset - segment->RtEntryOffset + segment->RtFileOffset;
- return RESULT_OK;
+
+ if ( tmp < segment->IndexEntryArray.size() )
+ {
+ Entry = segment->IndexEntryArray[(ui32_t) tmp];
+ Entry.StreamOffset = Entry.StreamOffset - segment->RtEntryOffset + segment->RtFileOffset;
+ return RESULT_OK;
+ }
+ else
+ {
+ DefaultLogSink().Error("Malformed index table segment, IndexDuration does not match entries.\n");
+ }