Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mpc-hc/mpc-hc.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorv0lt <v0lt@rambler.ru>2012-11-08 20:40:40 +0400
committerv0lt <v0lt@rambler.ru>2012-11-08 20:40:40 +0400
commitd071fb7a2b1c5a5d9832e043ca58dc9ac8ae6634 (patch)
tree2c948b527c174ffb1620e1b60c87ca5e76d3de87 /src/filters/parser/AviSplitter
parent33067e28e2fd61882c5c63a944adad3615833f5a (diff)
AviSplitter: skip broken chunk in header (ticket #2706)
Diffstat (limited to 'src/filters/parser/AviSplitter')
-rw-r--r--src/filters/parser/AviSplitter/AviFile.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/filters/parser/AviSplitter/AviFile.cpp b/src/filters/parser/AviSplitter/AviFile.cpp
index b9e38f9aa..1247a1034 100644
--- a/src/filters/parser/AviSplitter/AviFile.cpp
+++ b/src/filters/parser/AviSplitter/AviFile.cpp
@@ -155,6 +155,9 @@ HRESULT CAviFile::Parse(DWORD parentid, __int64 end)
if (S_OK != Read(size)) {
return E_FAIL;
}
+ if (GetPos() + size > end) {
+ return E_FAIL; // broken chunk
+ }
TRACE(_T("CAviFile::Parse(..): '%c%c%c%c'\n"),
TCHAR((id >> 0) & 0xff),