diff -r 97a6da6d7e29 -r 8a4f5aea2475 mozilla-bmo1573381.patch --- a/mozilla-bmo1573381.patch Sun Oct 20 14:25:55 2019 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,22 +0,0 @@ -# HG changeset patch -# Parent 45680ce4ca06795cbca1ea5a9ae8a7a11ab95cf1 -The code tries to find a codec in a list of codecs. For this it searches for a given prefix. -But the prefix is of type char16_t, which means 2 bytes per character instead of 1, as was compared here. -On big endian this created some false positives, as the order of bytes is different and some characters only -occupy "the first" byte, having the second null'ed out. -Noticed because of gtest: MediaMIMETypes.MediaCodecs - -Upstream bugreport: https://bugzilla.mozilla.org/show_bug.cgi?id=1573381 - -diff -r 45680ce4ca06 -r 381102061fcc dom/media/MediaMIMETypes.cpp ---- a/dom/media/MediaMIMETypes.cpp Mon Aug 05 09:28:53 2019 +0200 -+++ b/dom/media/MediaMIMETypes.cpp Tue Aug 13 07:51:27 2019 +0200 -@@ -87,7 +87,7 @@ - const size_t prefixLength = aCodecPrefix.Length(); - for (const auto& myCodec : Range()) { - if (myCodec.Length() >= prefixLength && -- memcmp(myCodec.Data(), aCodecPrefix.Data(), prefixLength) == 0) { -+ memcmp(myCodec.Data(), aCodecPrefix.Data(), prefixLength * sizeof(char16_t)) == 0) { - return true; - } - }