tensorflow/CVE-2021-29527.patch

50 lines
1.9 KiB
Diff
Raw Normal View History

From cfa91be9863a91d5105a3b4941096044ab32036b Mon Sep 17 00:00:00 2001
From: Mihai Maruseac <mihaimaruseac@google.com>
Date: Mon, 19 Apr 2021 18:58:47 -0700
Subject: [PATCH] Fix one FPE and remove two CHECK-fails.
PiperOrigin-RevId: 369349640
Change-Id: I1fedbfc2b5bab635c5cb51f103d7c9176f79831a
---
tensorflow/core/kernels/quantized_conv_ops.cc | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/tensorflow/core/kernels/quantized_conv_ops.cc b/tensorflow/core/kernels/quantized_conv_ops.cc
index a4d36cca3e408..a339de8cfc8fa 100644
--- a/tensorflow/core/kernels/quantized_conv_ops.cc
+++ b/tensorflow/core/kernels/quantized_conv_ops.cc
@@ -18,6 +18,8 @@ limitations under the License.
#include <algorithm>
#include <vector>
+#include "tensorflow/core/platform/errors.h"
+
#define EIGEN_USE_THREADS
#define GEMMLOWP_ALLOW_SLOW_SCALAR_FALLBACK
@@ -227,8 +229,12 @@ class Im2ColConvFunctor {
return;
}
- CHECK_GT(output_width, 0);
- CHECK_GT(output_height, 0);
+ OP_REQUIRES(
+ context, output_width > 0,
+ errors::InvalidArgument("output_width must be strictly positive"));
+ OP_REQUIRES(
+ context, output_height > 0,
+ errors::InvalidArgument("output_height must be strictly positive"));
int filter_left_offset;
int filter_top_offset;
if (padding == VALID) {
@@ -255,6 +261,9 @@ class Im2ColConvFunctor {
// by the width, then the height. This is the standard memory order in the
// image world if it helps to visualize it.
const int filter_value_count = filter_width * filter_height * input_depth;
+ OP_REQUIRES(context, filter_value_count > 0,
+ errors::InvalidArgument(
+ "filter patch must contain at least one element"));
const int64 patches_per_chunk =
kMaxChunkSize / (filter_value_count * sizeof(T1));
const int64 chunk_value_count =