diff options
author | Frank Galligan <fgalligan@google.com> | 2019-05-10 17:42:46 -0700 |
---|---|---|
committer | Ray Essick <essick@google.com> | 2019-05-15 18:07:32 +0000 |
commit | 0fbbf3c3e05647aa10174a1876e02ba6a2ec631d (patch) | |
tree | 5a67b89344c8138a674a9c68daa89ae7b07617f4 | |
parent | 0f998713686da56f36a5b603a4897fe5952c0370 (diff) | |
download | libvpx-0fbbf3c3e05647aa10174a1876e02ba6a2ec631d.tar.gz |
Check there is only one settings per ContentCompression
This fixes a memory leak with invalid files.
BUG: 127702368
Merged-In: Id7de1f8c35ef2f6458c6fb6c7751a84fe43ed1cc
Change-Id: I73bd34e212d74ffcf8d428e01b5269037147bf8c
-rw-r--r-- | libwebm/mkvparser/mkvparser.cc | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/libwebm/mkvparser/mkvparser.cc b/libwebm/mkvparser/mkvparser.cc index 70c1f043f..87adef336 100644 --- a/libwebm/mkvparser/mkvparser.cc +++ b/libwebm/mkvparser/mkvparser.cc @@ -4328,6 +4328,12 @@ long ContentEncoding::ParseCompressionEntry(long long start, long long size, return status; } + // There should be only one settings element per content compression. + if (compression->settings != NULL) { + delete[] buf; + return E_FILE_FORMAT_INVALID; + } + compression->settings = buf; compression->settings_len = buflen; } |