Skip to content

Commit f7476f0

Browse files
committed
Update on "Verify pte size at runtime"
Check that the file size is at least the size of what we expect from the extended header. ie. header_offset + program_size + segment_data_size. Differential Revision: [D81938296](https://our.internmc.facebook.com/intern/diff/D81938296/) [ghstack-poisoned]
2 parents 29e5700 + 865ecb4 commit f7476f0

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

runtime/executor/program.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,8 +90,9 @@ Result<executorch_flatbuffer::ExecutionPlan*> get_execution_plan(
9090
// is positive (0-value may indicate no segments)
9191
if ((segment_data_size == 0 && segment_base_offset == 0) ||
9292
segment_data_size > 0) {
93-
size_t expected =
94-
ExtendedHeader::kHeaderOffset + program_size + segment_data_size;
93+
size_t expected = segment_base_offset == 0
94+
? program_size
95+
: segment_base_offset + segment_data_size;
9596
size_t actual = loader->size().get();
9697
ET_CHECK_OR_RETURN_ERROR(
9798
expected <= actual,

0 commit comments

Comments
 (0)