diff options
author | Sanjoy Das <sanjoy@google.com> | 2018-10-01 23:06:12 -0700 |
---|---|---|
committer | TensorFlower Gardener <gardener@tensorflow.org> | 2018-10-01 23:12:22 -0700 |
commit | 9884cb36290664593682d235ce0d5e1925e3fa23 (patch) | |
tree | 3d94ff37154198c050b91d7a4db475cace6f290f /tensorflow/core/graph | |
parent | 721ab82745a113fb8cca4ce2b1f22d1d5ab5d546 (diff) |
Check that IsValid{Input|Output}Tensor is only given non-control edges
PiperOrigin-RevId: 215338658
Diffstat (limited to 'tensorflow/core/graph')
-rw-r--r-- | tensorflow/core/graph/graph.cc | 4 | ||||
-rw-r--r-- | tensorflow/core/graph/graph.h | 8 |
2 files changed, 6 insertions, 6 deletions
diff --git a/tensorflow/core/graph/graph.cc b/tensorflow/core/graph/graph.cc index 1630ab7a15..4c0cd14ff1 100644 --- a/tensorflow/core/graph/graph.cc +++ b/tensorflow/core/graph/graph.cc @@ -643,7 +643,7 @@ Status Graph::IsValidNode(const Node* node) const { Status Graph::IsValidOutputTensor(const Node* node, int idx) const { TF_RETURN_IF_ERROR(IsValidNode(node)); - if (idx >= node->num_outputs()) { + if (idx >= node->num_outputs() || idx < 0) { return errors::OutOfRange("Node '", node->name(), "' (type: '", node->op_def().name(), "', num of outputs: ", node->num_outputs(), @@ -654,7 +654,7 @@ Status Graph::IsValidOutputTensor(const Node* node, int idx) const { Status Graph::IsValidInputTensor(const Node* node, int idx) const { TF_RETURN_IF_ERROR(IsValidNode(node)); - if (idx >= node->num_inputs()) { + if (idx >= node->num_inputs() || idx < 0) { return errors::OutOfRange("Node '", node->name(), "' (type: '", node->op_def().name(), "', num of inputs: ", node->num_inputs(), diff --git a/tensorflow/core/graph/graph.h b/tensorflow/core/graph/graph.h index 52e9f23a76..72cef07072 100644 --- a/tensorflow/core/graph/graph.h +++ b/tensorflow/core/graph/graph.h @@ -590,12 +590,12 @@ class Graph { // Returns OK if `node` is non-null and belongs to this graph Status IsValidNode(const Node* node) const; - // Returns OK if IsValidNode(`node`) and `idx` is less than - // node->num_outputs() + // Returns OK if IsValidNode(`node`) and `idx` is a valid output. Does not + // accept control outputs. Status IsValidOutputTensor(const Node* node, int idx) const; - // Returns OK if IsValidNode(`node`) and `idx` is less than - // node->num_inputs() + // Returns OK if IsValidNode(`node`) and `idx` a valid input. Does not accept + // control inputs. Status IsValidInputTensor(const Node* node, int idx) const; // Create and return a new WhileContext owned by this graph. This is called |