Check there is only one settings per ContentCompression

This fixes a memory leak with invalid files.

BUG: 127702368

Merged-In: Id7de1f8c35ef2f6458c6fb6c7751a84fe43ed1cc
Change-Id: I73bd34e212d74ffcf8d428e01b5269037147bf8c
(cherry picked from commit 0fbbf3c3e05647aa10174a1876e02ba6a2ec631d)
diff --git a/libwebm/mkvparser/mkvparser.cc b/libwebm/mkvparser/mkvparser.cc
index 70c1f04..87adef3 100644
--- a/libwebm/mkvparser/mkvparser.cc
+++ b/libwebm/mkvparser/mkvparser.cc
@@ -4328,6 +4328,12 @@
         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;
     }