aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/core/lib
diff options
context:
space:
mode:
authorGravatar Mihai Maruseac <mihaimaruseac@google.com>2018-09-13 11:51:06 -0700
committerGravatar TensorFlower Gardener <gardener@tensorflow.org>2018-09-13 11:59:12 -0700
commit0fbeac58e098cf0ac8e131617ebb6780e10c9606 (patch)
treea4ce1f31192192b98bd88539b5273f742d5e1720 /tensorflow/core/lib
parentd3c8a877f9c9ed66c45cd366bc559393d3646d3e (diff)
Prevent an integral division by zero (undefined behavior).
PiperOrigin-RevId: 212851417
Diffstat (limited to 'tensorflow/core/lib')
-rw-r--r--tensorflow/core/lib/wav/wav_io.cc5
1 files changed, 5 insertions, 0 deletions
diff --git a/tensorflow/core/lib/wav/wav_io.cc b/tensorflow/core/lib/wav/wav_io.cc
index 36d939e061..c536b5688e 100644
--- a/tensorflow/core/lib/wav/wav_io.cc
+++ b/tensorflow/core/lib/wav/wav_io.cc
@@ -232,6 +232,11 @@ Status DecodeLin16WaveAsFloatVector(const string& wav_string,
"Bad audio format for WAV: Expected 1 (PCM), but got", audio_format);
}
TF_RETURN_IF_ERROR(ReadValue<uint16>(wav_string, channel_count, &offset));
+ if (*channel_count < 1) {
+ return errors::InvalidArgument(
+ "Bad number of channels for WAV: Expected at least 1, but got ",
+ *channel_count);
+ }
TF_RETURN_IF_ERROR(ReadValue<uint32>(wav_string, sample_rate, &offset));
uint32 bytes_per_second;
TF_RETURN_IF_ERROR(ReadValue<uint32>(wav_string, &bytes_per_second, &offset));