aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/core/kernels/decode_bmp_op.cc
diff options
context:
space:
mode:
authorGravatar Mihai Maruseac <mihaimaruseac@google.com>2018-09-13 16:15:32 -0700
committerGravatar TensorFlower Gardener <gardener@tensorflow.org>2018-09-13 16:20:12 -0700
commit8f9413bf41ff89672a3415eef606ecaca7c70a2f (patch)
tree7ce769bb06ac8db11cab0deff7489c5032d63eef /tensorflow/core/kernels/decode_bmp_op.cc
parent29b56bde1e28e558111b917fd44b973e2aea7fcf (diff)
Ensure that the input image of decode.bmp.op has valid dimensions.
This prevents an undefined behavior with signed integer overflow in decode.bmp.op. PiperOrigin-RevId: 212897289
Diffstat (limited to 'tensorflow/core/kernels/decode_bmp_op.cc')
-rw-r--r--tensorflow/core/kernels/decode_bmp_op.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/tensorflow/core/kernels/decode_bmp_op.cc b/tensorflow/core/kernels/decode_bmp_op.cc
index 750efca592..ae451be7e2 100644
--- a/tensorflow/core/kernels/decode_bmp_op.cc
+++ b/tensorflow/core/kernels/decode_bmp_op.cc
@@ -91,8 +91,10 @@ class DecodeBmpOp : public OpKernel {
errors::InvalidArgument(
"Number of channels must be 1, 3 or 4, was ", channels_));
- OP_REQUIRES(context, width > 0 && header_size >= 0,
+ OP_REQUIRES(context, width > 0,
errors::InvalidArgument("Width must be positive"));
+ OP_REQUIRES(context, height != 0,
+ errors::InvalidArgument("Height must be nonzero"));
OP_REQUIRES(context, header_size >= 0,
errors::InvalidArgument("header size must be nonnegative"));