Merge pull request #45509 from tensorflow/mm-cherrypick-0cc38aaa4064fd9e79101994ce9872c6d91f816b-on-r2.3
Prevent unitialized memory access in `GraphConstructor::MakeEdge`
This commit is contained in:
commit
1574dfb39a
@ -44,6 +44,7 @@ limitations under the License.
|
|||||||
#include "tensorflow/core/lib/gtl/inlined_vector.h"
|
#include "tensorflow/core/lib/gtl/inlined_vector.h"
|
||||||
#include "tensorflow/core/lib/strings/scanner.h"
|
#include "tensorflow/core/lib/strings/scanner.h"
|
||||||
#include "tensorflow/core/lib/strings/str_util.h"
|
#include "tensorflow/core/lib/strings/str_util.h"
|
||||||
|
#include "tensorflow/core/platform/errors.h"
|
||||||
#include "tensorflow/core/platform/logging.h"
|
#include "tensorflow/core/platform/logging.h"
|
||||||
#include "tensorflow/core/platform/macros.h"
|
#include "tensorflow/core/platform/macros.h"
|
||||||
#include "tensorflow/core/public/version.h"
|
#include "tensorflow/core/public/version.h"
|
||||||
@ -1425,6 +1426,17 @@ void GraphConstructor::Undo() {
|
|||||||
|
|
||||||
Status GraphConstructor::MakeEdge(Node* src, int output_index, Node* dst,
|
Status GraphConstructor::MakeEdge(Node* src, int output_index, Node* dst,
|
||||||
int input_index) {
|
int input_index) {
|
||||||
|
if (output_index >= src->num_outputs()) {
|
||||||
|
return errors::InvalidArgument(
|
||||||
|
"Output ", output_index, " of node ", src->name(),
|
||||||
|
" does not exist. Node only has ", src->num_outputs(), " outputs.");
|
||||||
|
}
|
||||||
|
if (input_index >= dst->num_inputs()) {
|
||||||
|
return errors::InvalidArgument(
|
||||||
|
"Input ", input_index, " of node ", dst->name(),
|
||||||
|
" does not exist. Node only has ", dst->num_inputs(), " inputs.");
|
||||||
|
}
|
||||||
|
|
||||||
DataType src_out = src->output_type(output_index);
|
DataType src_out = src->output_type(output_index);
|
||||||
DataType dst_in = dst->input_type(input_index);
|
DataType dst_in = dst->input_type(input_index);
|
||||||
if (!TypesCompatible(dst_in, src_out)) {
|
if (!TypesCompatible(dst_in, src_out)) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user