[SCM] libav/wheezy-security: movdec: handle 0x7fff langcode as macintosh per the specs

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 1 21:36:14 UTC 2014


The following commit has been merged in the wheezy-security branch:
commit 5463a2b0566b34b9e3847db9ceb1ef1d2a6004fc
Author: Baptiste Coudurier <baptiste.coudurier at gmail.com>
Date:   Wed Mar 21 14:18:16 2012 -0700

    movdec: handle 0x7fff langcode as macintosh per the specs
    
    The correct point that seperates ISO and MAC language codes is 0x400
    according to the current QT spec. Old QT specs did not list where this
    seperation is but apparently only defined the meaning of the first 137.
    
    (cherry picked from commit 9e71cc81f3655cacf0f91860fba3043f13b64059)
    (cherry picked from commit 7940306a47df602be4f57a62175706265bbfd0aa)

diff --git a/libavformat/isom.c b/libavformat/isom.c
index 07f22ca..347c992 100644
--- a/libavformat/isom.c
+++ b/libavformat/isom.c
@@ -339,7 +339,7 @@ int ff_mov_lang_to_iso639(unsigned code, char to[4])
     memset(to, 0, 4);
     /* is it the mangled iso code? */
     /* see http://www.geocities.com/xhelmboyx/quicktime/formats/mp4-layout.txt */
-    if (code > 138) {
+    if (code >= 0x400 && code != 0x7fff) {
         for (i = 2; i >= 0; i--) {
             to[i] = 0x60 + (code & 0x1f);
             code >>= 5;
diff --git a/libavformat/mov.c b/libavformat/mov.c
index 28c89f1..d59a66e 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -248,7 +248,7 @@ static int mov_read_udta_string(MOVContext *c, AVIOContext *pb, MOVAtom atom)
     if (parse)
         parse(c, pb, str_size, key);
     else {
-        if (data_type == 3 || (data_type == 0 && langcode < 0x800)) { // MAC Encoded
+        if (data_type == 3 || (data_type == 0 && (langcode < 0x400 || langcode == 0x7fff))) { // MAC Encoded
             mov_read_mac_string(c, pb, str_size, str, sizeof(str));
         } else {
             avio_read(pb, str, str_size);

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list