This will add model verify step before inspection to prevent segmentation fault with invalid files
Signed-off-by: SaeHie Park <saehie.park@samsung.com>
return nullptr;
}
+ // Check if file is a valid Flatbuffer file
+ const uint8_t *u8data = reinterpret_cast<const uint8_t *>(data);
+ flatbuffers::Verifier verifier{u8data, size};
+ if (!circle::VerifyModelBuffer(verifier))
+ {
+ munmap(data, size);
+ close(fd.release());
+ return nullptr;
+ }
+
return std::unique_ptr<circleinspect::Model>{new MemoryMappedModel(fd.release(), data, size)};
}