aboutsummaryrefslogtreecommitdiffhomepage
path: root/tensorflow/core/lib/wav/wav_io.cc
diff options
context:
space:
mode:
Diffstat (limited to 'tensorflow/core/lib/wav/wav_io.cc')
-rw-r--r--tensorflow/core/lib/wav/wav_io.cc8
1 files changed, 7 insertions, 1 deletions
diff --git a/tensorflow/core/lib/wav/wav_io.cc b/tensorflow/core/lib/wav/wav_io.cc
index 51b9c6cd82..36d939e061 100644
--- a/tensorflow/core/lib/wav/wav_io.cc
+++ b/tensorflow/core/lib/wav/wav_io.cc
@@ -23,7 +23,7 @@ limitations under the License.
#include "tensorflow/core/lib/core/coding.h"
#include "tensorflow/core/lib/core/errors.h"
#include "tensorflow/core/lib/wav/wav_io.h"
-#include "tensorflow/core/platform/cpu_info.h"
+#include "tensorflow/core/platform/byte_order.h"
#include "tensorflow/core/platform/logging.h"
#include "tensorflow/core/platform/macros.h"
@@ -285,6 +285,12 @@ Status DecodeLin16WaveAsFloatVector(const string& wav_string,
was_data_found = true;
*sample_count = chunk_size / bytes_per_sample;
const uint32 data_count = *sample_count * *channel_count;
+ int unused_new_offset = 0;
+ // Validate that the data exists before allocating space for it
+ // (prevent easy OOM errors).
+ TF_RETURN_IF_ERROR(IncrementOffset(offset, sizeof(int16) * data_count,
+ wav_string.size(),
+ &unused_new_offset));
float_values->resize(data_count);
for (int i = 0; i < data_count; ++i) {
int16 single_channel_value = 0;