Don't read more than the buffer size.
Bug: 130593895
Test: manual
Change-Id: I54612d14e7cadde1d4a447040dbe9086e970c549
diff --git a/media/extractors/wav/WAVExtractor.cpp b/media/extractors/wav/WAVExtractor.cpp
index 020951b..8b539c2ff 100644
--- a/media/extractors/wav/WAVExtractor.cpp
+++ b/media/extractors/wav/WAVExtractor.cpp
@@ -461,7 +461,7 @@
}
// maxBytesToRead may be reduced so that in-place data conversion will fit in buffer size.
- const size_t bufferSize = buffer->size();
+ const size_t bufferSize = std::min(buffer->size(), kMaxFrameSize);
size_t maxBytesToRead;
if (mOutputFloat) { // destination is float at 4 bytes per sample, source may be less.
maxBytesToRead = (mBitsPerSample / 8) * (bufferSize / 4);