summaryrefslogtreecommitdiff
path: root/chromium/media/mp4/cenc.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/media/mp4/cenc.cc')
-rw-r--r--chromium/media/mp4/cenc.cc10
1 files changed, 7 insertions, 3 deletions
diff --git a/chromium/media/mp4/cenc.cc b/chromium/media/mp4/cenc.cc
index 104948dd4fa..10f3a2a696a 100644
--- a/chromium/media/mp4/cenc.cc
+++ b/chromium/media/mp4/cenc.cc
@@ -42,12 +42,16 @@ bool FrameCENCInfo::Parse(int iv_size, BufferReader* reader) {
return true;
}
-size_t FrameCENCInfo::GetTotalSizeOfSubsamples() const {
+bool FrameCENCInfo::GetTotalSizeOfSubsamples(size_t* total_size) const {
size_t size = 0;
for (size_t i = 0; i < subsamples.size(); i++) {
- size += subsamples[i].clear_bytes + subsamples[i].cypher_bytes;
+ size += subsamples[i].clear_bytes;
+ RCHECK(size >= subsamples[i].clear_bytes); // overflow
+ size += subsamples[i].cypher_bytes;
+ RCHECK(size >= subsamples[i].cypher_bytes); // overflow
}
- return size;
+ *total_size = size;
+ return true;
}
} // namespace mp4