diff options
author | Davide Grohmann <davide.grohmann@arm.com> | 2022-06-14 15:17:18 +0200 |
---|---|---|
committer | Davide Grohmann <davide.grohmann@arm.com> | 2022-08-22 14:16:42 +0200 |
commit | 30b17b9b0e73de1dd93e090c68b38f32339d411c (patch) | |
tree | c4293d6b35c8902a4cee2321ce2be820059a147b /applications/inference_process/src/inference_process.cpp | |
parent | e48fa7a47239d9632dc4390af92bca7d0eac64a2 (diff) | |
download | ethos-u-core-software-30b17b9b0e73de1dd93e090c68b38f32339d411c.tar.gz |
Check the validity of the buffer before parsing the model
If the buffer does not point to a well defined flatbuffer the parsing
segfaults.
Change-Id: Icb8dfef37dc28b2b7a22c6d3804851be8198aa9d
Diffstat (limited to 'applications/inference_process/src/inference_process.cpp')
-rw-r--r-- | applications/inference_process/src/inference_process.cpp | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/applications/inference_process/src/inference_process.cpp b/applications/inference_process/src/inference_process.cpp index 29254c7..e96d601 100644 --- a/applications/inference_process/src/inference_process.cpp +++ b/applications/inference_process/src/inference_process.cpp @@ -119,11 +119,9 @@ bool InferenceProcess::runJob(InferenceJob &job) { RegisterDebugLogCallback(tfluDebugLog); // Get model handle and verify that the version is correct - const tflite::Model *model = ::tflite::GetModel(job.networkModel.data); - if (model->version() != TFLITE_SCHEMA_VERSION) { - LOG_ERR("Model schema version unsupported: version=%" PRIu32 ", supported=%d.", - model->version(), - TFLITE_SCHEMA_VERSION); + const tflite::Model *model = parser.getModel(job.networkModel.data, job.networkModel.size); + if (model == nullptr) { + LOG_ERR("Invalid model"); return true; } |