diff options
| author | Strangerke | 2012-10-10 08:26:41 +0200 |
|---|---|---|
| committer | Strangerke | 2012-10-10 08:26:41 +0200 |
| commit | b164cbb571fc4e0f2a6f002760a851d8ac592540 (patch) | |
| tree | 4d25f2e1f8241f6f3352fd9fb1135f5faa36dfd4 /common/quicktime.cpp | |
| parent | b2f2f8d7b08b40e43702e8db325f8136066f10be (diff) | |
| parent | 1e200620d673af4acdd2d128ed6e390df001aacf (diff) | |
| download | scummvm-rg350-b164cbb571fc4e0f2a6f002760a851d8ac592540.tar.gz scummvm-rg350-b164cbb571fc4e0f2a6f002760a851d8ac592540.tar.bz2 scummvm-rg350-b164cbb571fc4e0f2a6f002760a851d8ac592540.zip | |
Merge branch 'master' of github.com:scummvm/scummvm into mortevielle
Conflicts:
base/plugins.cpp
configure
Diffstat (limited to 'common/quicktime.cpp')
| -rw-r--r-- | common/quicktime.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/common/quicktime.cpp b/common/quicktime.cpp index 5176f83a35..173d3c6a97 100644 --- a/common/quicktime.cpp +++ b/common/quicktime.cpp @@ -217,7 +217,11 @@ int QuickTimeParser::readDefault(Atom atom) { a.size -= 8; - if (_parseTable[i].type == 0) { // skip leaf atoms data + if (a.size + (uint32)_fd->pos() > (uint32)_fd->size()) { + _fd->seek(_fd->size()); + debug(0, "Skipping junk found at the end of the QuickTime file"); + return 0; + } else if (_parseTable[i].type == 0) { // skip leaf atom data debug(0, ">>> Skipped [%s]", tag2str(a.type)); _fd->seek(a.size, SEEK_CUR); |
