tensorflow/CVE-2021-29574.patch

36 lines
1.7 KiB
Diff

From a3d9f9be9ac2296615644061b40cefcee341dcc4 Mon Sep 17 00:00:00 2001
From: Mihai Maruseac <mihaimaruseac@google.com>
Date: Wed, 5 May 2021 15:20:14 -0700
Subject: [PATCH] Add missing validation to pooling_ops_3d
PiperOrigin-RevId: 372218727
Change-Id: I6b9ed4266aa7286c02f1f230d7bea922c1be547e
---
tensorflow/core/kernels/pooling_ops_3d.cc | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/tensorflow/core/kernels/pooling_ops_3d.cc b/tensorflow/core/kernels/pooling_ops_3d.cc
index 1114e6931ecf9..7d133b66a1ebd 100644
--- a/tensorflow/core/kernels/pooling_ops_3d.cc
+++ b/tensorflow/core/kernels/pooling_ops_3d.cc
@@ -698,6 +698,19 @@ class MaxPooling3dGradGradOp : public OpKernel {
OP_REQUIRES_OK(context, context->forward_input_or_allocate_output(
{2}, 0, tensor_out.shape(), &output));
+ // Given access patterns in LaunchMaxPooling3dGradGradOp, these tensors must
+ // have elements.
+ OP_REQUIRES(context, tensor_in.NumElements() > 0,
+ errors::InvalidArgument("received empty tensor tensor_in: ",
+ tensor_in.DebugString()));
+ OP_REQUIRES(context, tensor_out.NumElements() > 0,
+ errors::InvalidArgument("received empty tensor tensor_out: ",
+ tensor_out.DebugString()));
+ OP_REQUIRES(
+ context, out_grad_backprop.NumElements() > 0,
+ errors::InvalidArgument("received empty tensor out_grad_backprop: ",
+ out_grad_backprop.DebugString()));
+
LaunchMaxPooling3dGradGradOp<Device, T>::launch(
context, params, tensor_in, tensor_out, out_grad_backprop, output);
}