diff options
author | Mihai Maruseac <mihaimaruseac@google.com> | 2018-09-13 11:51:06 -0700 |
---|---|---|
committer | TensorFlower Gardener <gardener@tensorflow.org> | 2018-09-13 11:59:12 -0700 |
commit | 0fbeac58e098cf0ac8e131617ebb6780e10c9606 (patch) | |
tree | a4ce1f31192192b98bd88539b5273f742d5e1720 /tensorflow/core/lib | |
parent | d3c8a877f9c9ed66c45cd366bc559393d3646d3e (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.cc | 5 |
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)); |