mozilla-bmo1573381.patch
author Wolfgang Rosenauer <wr@rosenauer.org>
Thu, 05 Sep 2019 08:27:16 +0200
branchfirefox68
changeset 1102 3f648b714230
parent 1101 a4709640638e
permissions -rw-r--r--
remove obsolete patch
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1101
a4709640638e added several arch specific (mainly BE) patches
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     1
# HG changeset patch
a4709640638e added several arch specific (mainly BE) patches
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     2
# Parent  45680ce4ca06795cbca1ea5a9ae8a7a11ab95cf1
a4709640638e added several arch specific (mainly BE) patches
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     3
The code tries to find a codec in a list of codecs. For this it searches for a given prefix.
a4709640638e added several arch specific (mainly BE) patches
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     4
But the prefix is of type char16_t, which means 2 bytes per character instead of 1, as was compared here.
a4709640638e added several arch specific (mainly BE) patches
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     5
On big endian this created some false positives, as the order of bytes is different and some characters only
a4709640638e added several arch specific (mainly BE) patches
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     6
occupy "the first" byte, having the second null'ed out.
a4709640638e added several arch specific (mainly BE) patches
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     7
Noticed because of gtest: MediaMIMETypes.MediaCodecs
a4709640638e added several arch specific (mainly BE) patches
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     8
a4709640638e added several arch specific (mainly BE) patches
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     9
Upstream bugreport: https://bugzilla.mozilla.org/show_bug.cgi?id=1573381
a4709640638e added several arch specific (mainly BE) patches
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    10
a4709640638e added several arch specific (mainly BE) patches
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    11
diff -r 45680ce4ca06 -r 381102061fcc dom/media/MediaMIMETypes.cpp
a4709640638e added several arch specific (mainly BE) patches
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    12
--- a/dom/media/MediaMIMETypes.cpp	Mon Aug 05 09:28:53 2019 +0200
a4709640638e added several arch specific (mainly BE) patches
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    13
+++ b/dom/media/MediaMIMETypes.cpp	Tue Aug 13 07:51:27 2019 +0200
a4709640638e added several arch specific (mainly BE) patches
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    14
@@ -87,7 +87,7 @@
a4709640638e added several arch specific (mainly BE) patches
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    15
   const size_t prefixLength = aCodecPrefix.Length();
a4709640638e added several arch specific (mainly BE) patches
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    16
   for (const auto& myCodec : Range()) {
a4709640638e added several arch specific (mainly BE) patches
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    17
     if (myCodec.Length() >= prefixLength &&
a4709640638e added several arch specific (mainly BE) patches
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    18
-        memcmp(myCodec.Data(), aCodecPrefix.Data(), prefixLength) == 0) {
a4709640638e added several arch specific (mainly BE) patches
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    19
+        memcmp(myCodec.Data(), aCodecPrefix.Data(), prefixLength * sizeof(char16_t)) == 0) {
a4709640638e added several arch specific (mainly BE) patches
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    20
       return true;
a4709640638e added several arch specific (mainly BE) patches
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    21
     }
a4709640638e added several arch specific (mainly BE) patches
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    22
   }