aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/contrib/lite/interpreter.cc
diff options
context:
space:
mode:
authorGravatar A. Unique TensorFlower <gardener@tensorflow.org>2018-04-23 11:23:01 -0700
committerGravatar TensorFlower Gardener <gardener@tensorflow.org>2018-04-23 11:25:36 -0700
commitf0d5d2047833c7221ce3be1690689ca1c6658add (patch)
tree4bba4c1e67d7d0531b9c343a3f5eb7a39bb620d3 /tensorflow/contrib/lite/interpreter.cc
parent26ff316f49e613a7f9cba02dd5e7d6cd5aa78623 (diff)
Convert int -> size_t so that implicit conversion doesn't lose integer precision.
PiperOrigin-RevId: 193955175
Diffstat (limited to 'tensorflow/contrib/lite/interpreter.cc')
-rw-r--r--tensorflow/contrib/lite/interpreter.cc13
1 files changed, 9 insertions, 4 deletions
diff --git a/tensorflow/contrib/lite/interpreter.cc b/tensorflow/contrib/lite/interpreter.cc
index 91b6c414bf..9d8ea55fd1 100644
--- a/tensorflow/contrib/lite/interpreter.cc
+++ b/tensorflow/contrib/lite/interpreter.cc
@@ -308,7 +308,12 @@ TfLiteStatus Interpreter::CheckTensorIndices(const char* label,
for (int i = 0; i < length; i++) {
int index = indices[i];
- if (index < kOptionalTensor || index >= context_.tensors_size) {
+ // Continue if index == kOptionalTensor before additional comparisons below,
+ // size_t(-1) is always >= context_tensors_size.
+ if (index == kOptionalTensor) {
+ continue;
+ }
+ if (index < 0 || static_cast<size_t>(index) >= context_.tensors_size) {
ReportError(&context_, "Invalid tensor index %d in %s\n", index, label);
consistent_ = false;
return kTfLiteError;
@@ -318,7 +323,7 @@ TfLiteStatus Interpreter::CheckTensorIndices(const char* label,
}
TfLiteStatus Interpreter::BytesRequired(TfLiteType type, const int* dims,
- int dims_size, size_t* bytes) {
+ size_t dims_size, size_t* bytes) {
// TODO(aselle): Check for overflow here using overflow.h in TensorFlow
// MultiplyWithoutOverflow.
TF_LITE_ENSURE(&context_, bytes != nullptr);
@@ -645,7 +650,7 @@ TfLiteStatus Interpreter::GetNodeAndRegistration(
}
TfLiteStatus Interpreter::SetTensorParametersReadOnly(
- int tensor_index, TfLiteType type, const char* name, const int rank,
+ int tensor_index, TfLiteType type, const char* name, const size_t rank,
const int* dims, TfLiteQuantizationParams quantization, const char* buffer,
size_t bytes, const Allocation* allocation) {
if (state_ == kStateInvokableAndImmutable) {
@@ -691,7 +696,7 @@ TfLiteStatus Interpreter::SetTensorParametersReadOnly(
// bytes. The lifetime of buffer must be ensured to be greater or equal
// to Interpreter.
TfLiteStatus Interpreter::SetTensorParametersReadWrite(
- int tensor_index, TfLiteType type, const char* name, const int rank,
+ int tensor_index, TfLiteType type, const char* name, const size_t rank,
const int* dims, TfLiteQuantizationParams quantization) {
if (state_ == kStateInvokableAndImmutable) {
ReportError(