Clarify ownership semantics of TFLite model buffer
PiperOrigin-RevId: 286935636
Change-Id: Iad05f2f9628a81d317e6b48dd4fe14f9dfe4f6fd
diff --git a/tensorflow/lite/model.cc b/tensorflow/lite/model.cc
index d7523db..0556f47 100644
--- a/tensorflow/lite/model.cc
+++ b/tensorflow/lite/model.cc
@@ -129,23 +129,23 @@
}
std::unique_ptr<FlatBufferModel> FlatBufferModel::VerifyAndBuildFromBuffer(
- const char* buffer, size_t buffer_size, TfLiteVerifier* extra_verifier,
- ErrorReporter* error_reporter) {
+ const char* caller_owned_buffer, size_t buffer_size,
+ TfLiteVerifier* extra_verifier, ErrorReporter* error_reporter) {
error_reporter = ValidateErrorReporter(error_reporter);
- flatbuffers::Verifier base_verifier(reinterpret_cast<const uint8_t*>(buffer),
- buffer_size);
+ flatbuffers::Verifier base_verifier(
+ reinterpret_cast<const uint8_t*>(caller_owned_buffer), buffer_size);
if (!VerifyModelBuffer(base_verifier)) {
error_reporter->Report("The model is not a valid Flatbuffer buffer");
return nullptr;
}
- if (extra_verifier &&
- !extra_verifier->Verify(buffer, buffer_size, error_reporter)) {
+ if (extra_verifier && !extra_verifier->Verify(caller_owned_buffer,
+ buffer_size, error_reporter)) {
return nullptr;
}
- return BuildFromBuffer(buffer, buffer_size, error_reporter);
+ return BuildFromBuffer(caller_owned_buffer, buffer_size, error_reporter);
}
std::unique_ptr<FlatBufferModel> FlatBufferModel::BuildFromModel(
diff --git a/tensorflow/lite/model.h b/tensorflow/lite/model.h
index b8b4b44..159f800 100644
--- a/tensorflow/lite/model.h
+++ b/tensorflow/lite/model.h
@@ -110,7 +110,7 @@
/// and must ensure its lifetime is longer than the FlatBufferModel instance.
/// Returns a nullptr in case of failure.
static std::unique_ptr<FlatBufferModel> VerifyAndBuildFromBuffer(
- const char* buffer, size_t buffer_size,
+ const char* caller_owned_buffer, size_t buffer_size,
TfLiteVerifier* extra_verifier = nullptr,
ErrorReporter* error_reporter = DefaultErrorReporter());