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/strings/scanner.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/macros.h"
|
||||
#include "tensorflow/core/public/version.h"
|
||||
@ -1425,6 +1426,17 @@ void GraphConstructor::Undo() {
|
||||
|
||||
Status GraphConstructor::MakeEdge(Node* src, int output_index, Node* dst,
|
||||
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 dst_in = dst->input_type(input_index);
|
||||
if (!TypesCompatible(dst_in, src_out)) {
|
||||
|
Loading…
Reference in New Issue
Block a user