<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>99739</bug_id>
          
          <creation_ts>2012-10-18 11:37:10 -0700</creation_ts>
          <short_desc>convertUTF8ToUTF16() Should Check for ASCII Input</short_desc>
          <delta_ts>2012-10-19 03:09:41 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>99770</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Saboff">msaboff</reporter>
          <assigned_to name="Michael Saboff">msaboff</assigned_to>
          <cc>benjamin</cc>
    
    <cc>mark.lam</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>745428</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2012-10-18 11:37:10 -0700</bug_when>
    <thetext>If convertUTF8ToUTF16() checked if the source was ASCII during the conversion and returned that to the caller, the caller could create an 8 bit String from the source instead of a 16 bit String from the converted result.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>745561</commentid>
    <comment_count>1</comment_count>
      <attachid>169473</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2012-10-18 14:14:08 -0700</bug_when>
    <thetext>Created attachment 169473
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>745571</commentid>
    <comment_count>2</comment_count>
      <attachid>169473</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-10-18 14:20:59 -0700</bug_when>
    <thetext>Comment on attachment 169473
Patch

Attachment 169473 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/14412711</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>745574</commentid>
    <comment_count>3</comment_count>
      <attachid>169473</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2012-10-18 14:23:16 -0700</bug_when>
    <thetext>Comment on attachment 169473
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=169473&amp;action=review

r=me

&gt; Source/JavaScriptCore/API/JSStringRef.cpp:52
&gt; +        if (conversionOK == convertUTF8ToUTF16(&amp;string, string + length, &amp;p, p + length, &amp;sourceIsAllASCII)) {
&gt; +            if (sourceIsAllASCII)
&gt; +                return OpaqueJSString::create(reinterpret_cast&lt;const LChar*&gt;(string), length).leakRef();

Our 8bit strings can handle Latin1 in addition to ASCII. Is there a particular reason to exclude Latin1 characters from becoming 8bit strings here?

&gt; Source/WTF/wtf/unicode/UTF8.cpp:298
&gt;  ConversionResult convertUTF8ToUTF16(

Looks like you need to export this function in order to build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>745582</commentid>
    <comment_count>4</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2012-10-18 14:29:48 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 169473 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=169473&amp;action=review
&gt; 
&gt; r=me
&gt; 
&gt; &gt; Source/JavaScriptCore/API/JSStringRef.cpp:52
&gt; &gt; +        if (conversionOK == convertUTF8ToUTF16(&amp;string, string + length, &amp;p, p + length, &amp;sourceIsAllASCII)) {
&gt; &gt; +            if (sourceIsAllASCII)
&gt; &gt; +                return OpaqueJSString::create(reinterpret_cast&lt;const LChar*&gt;(string), length).leakRef();
&gt; 
&gt; Our 8bit strings can handle Latin1 in addition to ASCII. Is there a particular reason to exclude Latin1 characters from becoming 8bit strings here?

A Latin 1 characters between 0x80 and 0xFF takes two UTF8 characters and requires some conversion.  ASCII doesn&apos;t.

&gt; &gt; Source/WTF/wtf/unicode/UTF8.cpp:298
&gt; &gt;  ConversionResult convertUTF8ToUTF16(
&gt; 
&gt; Looks like you need to export this function in order to build.

Looking into this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>745678</commentid>
    <comment_count>5</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2012-10-18 15:56:49 -0700</bug_when>
    <thetext>(In reply to comment #4)

&gt; &gt; &gt; Source/WTF/wtf/unicode/UTF8.cpp:298
&gt; &gt; &gt;  ConversionResult convertUTF8ToUTF16(
&gt; &gt; 
&gt; &gt; Looks like you need to export this function in order to build.
&gt; 
&gt; Looking into this.

The build failure was due to a problem in the Mac build process for WTF.  This is tracked in https://bugs.webkit.org/show_bug.cgi?id=99770.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>745846</commentid>
    <comment_count>6</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2012-10-18 18:22:26 -0700</bug_when>
    <thetext>Committed r131836: &lt;http://trac.webkit.org/changeset/131836&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>746167</commentid>
    <comment_count>7</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2012-10-19 02:44:37 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Committed r131836: &lt;http://trac.webkit.org/changeset/131836&gt;

This commit broke the Windows build.  Attempted a fix landed in r131877 &lt;http://trac.webkit.org/changeset/131877&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>746178</commentid>
    <comment_count>8</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2012-10-19 03:09:41 -0700</bug_when>
    <thetext>Next step of fix landed in r131882 &lt;http://trac.webkit.org/changeset/131882&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>169473</attachid>
            <date>2012-10-18 14:14:08 -0700</date>
            <delta_ts>2012-10-18 14:23:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>99739.patch</filename>
            <type>text/plain</type>
            <size>7588</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTMxNzgyKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBA
CisyMDEyLTEwLTE4ICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgorCisgICAg
ICAgIGNvbnZlcnRVVEY4VG9VVEYxNigpIFNob3VsZCBDaGVjayBmb3IgQVNDSUkgSW5wdXQKKyAg
ICAgICAgaWh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05OTczOQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVzaW5nIHRoZSB1
cGRhdGVkIGNvbnZlcnRVVEY4VG9VVEYxNigpICwgd2UgY2FuIGRldGVybWluZSBpZiBpcyBtYWtl
cyBtb3JlIHNlbnNlIHRvIAorICAgICAgICBjcmVhdGUgYSBzdHJpbmcgdXNpbmcgdGhlIDggYml0
IHNvdXJjZS4gIEFkZGVkIGEgbmV3IE9wYXF1ZUpTU3RyaW5nOjpjcmVhdGUoTENoYXIqLCB1bnNp
Z25lZCkuCisgICAgICAgIEhhZCB0byBhZGQgYSBjYXN0IG4gSlNTdHJpbmdDcmVhdGVXaXRoQ0ZT
dHJpbmcgdG8gZGlmZmVyZW50aWF0ZSB3aGljaCBjcmVhdGUoKSB0byBjYWxsLgorCisgICAgICAg
ICogQVBJL0pTU3RyaW5nUmVmLmNwcDoKKyAgICAgICAgKEpTU3RyaW5nQ3JlYXRlV2l0aFVURjhD
U3RyaW5nKToKKyAgICAgICAgKiBBUEkvSlNTdHJpbmdSZWZDRi5jcHA6CisgICAgICAgIChKU1N0
cmluZ0NyZWF0ZVdpdGhDRlN0cmluZyk6CisgICAgICAgICogQVBJL09wYXF1ZUpTU3RyaW5nLmg6
CisgICAgICAgIChPcGFxdWVKU1N0cmluZzo6Y3JlYXRlKToKKyAgICAgICAgKE9wYXF1ZUpTU3Ry
aW5nKToKKyAgICAgICAgKE9wYXF1ZUpTU3RyaW5nOjpPcGFxdWVKU1N0cmluZyk6CisKIDIwMTIt
MTAtMTggIE1pY2hhZWwgU2Fib2ZmICA8bXNhYm9mZkBhcHBsZS5jb20+CiAKICAgICAgICAgTWFr
ZSBjb252ZXJzaW9uIGJldHdlZW4gSlNTdHJpbmdSZWYgYW5kIFdLU3RyaW5nUmVmIHdvcmsgd2l0
aG91dCBjaGFyYWN0ZXIgc2l6ZSBjb252ZXJzaW9ucwpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL0FQSS9KU1N0cmluZ1JlZi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL0FQSS9KU1N0cmluZ1JlZi5jcHAJKHJldmlzaW9uIDEzMTc4MSkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9BUEkvSlNTdHJpbmdSZWYuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Niw4ICs0
NiwxMiBAQCBKU1N0cmluZ1JlZiBKU1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluCiAgICAgICAg
IHNpemVfdCBsZW5ndGggPSBzdHJsZW4oc3RyaW5nKTsKICAgICAgICAgVmVjdG9yPFVDaGFyLCAx
MDI0PiBidWZmZXIobGVuZ3RoKTsKICAgICAgICAgVUNoYXIqIHAgPSBidWZmZXIuZGF0YSgpOwot
ICAgICAgICBpZiAoY29udmVyc2lvbk9LID09IGNvbnZlcnRVVEY4VG9VVEYxNigmc3RyaW5nLCBz
dHJpbmcgKyBsZW5ndGgsICZwLCBwICsgbGVuZ3RoKSkKKyAgICAgICAgYm9vbCBzb3VyY2VJc0Fs
bEFTQ0lJOworICAgICAgICBpZiAoY29udmVyc2lvbk9LID09IGNvbnZlcnRVVEY4VG9VVEYxNigm
c3RyaW5nLCBzdHJpbmcgKyBsZW5ndGgsICZwLCBwICsgbGVuZ3RoLCAmc291cmNlSXNBbGxBU0NJ
SSkpIHsKKyAgICAgICAgICAgIGlmIChzb3VyY2VJc0FsbEFTQ0lJKQorICAgICAgICAgICAgICAg
IHJldHVybiBPcGFxdWVKU1N0cmluZzo6Y3JlYXRlKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgTENo
YXIqPihzdHJpbmcpLCBsZW5ndGgpLmxlYWtSZWYoKTsKICAgICAgICAgICAgIHJldHVybiBPcGFx
dWVKU1N0cmluZzo6Y3JlYXRlKGJ1ZmZlci5kYXRhKCksIHAgLSBidWZmZXIuZGF0YSgpKS5sZWFr
UmVmKCk7CisgICAgICAgIH0KICAgICB9CiAKICAgICAvLyBOdWxsIHN0cmluZy4KSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNTdHJpbmdSZWZDRi5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1N0cmluZ1JlZkNGLmNwcAkocmV2aXNpb24gMTMx
NzgxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU1N0cmluZ1JlZkNGLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNDYsNyArNDYsNyBAQCBKU1N0cmluZ1JlZiBKU1N0cmluZ0NyZWF0ZVdp
dGhDRlN0cmluZyhDCiAgICAgICAgIENPTVBJTEVfQVNTRVJUKHNpemVvZihVbmlDaGFyKSA9PSBz
aXplb2YoVUNoYXIpLCB1bmljaGFyX2FuZF91Y2hhcl9tdXN0X2JlX3NhbWVfc2l6ZSk7CiAgICAg
ICAgIHJldHVybiBPcGFxdWVKU1N0cmluZzo6Y3JlYXRlKHJlaW50ZXJwcmV0X2Nhc3Q8VUNoYXIq
PihidWZmZXIuZ2V0KCkpLCBsZW5ndGgpLmxlYWtSZWYoKTsKICAgICB9IGVsc2UgewotICAgICAg
ICByZXR1cm4gT3BhcXVlSlNTdHJpbmc6OmNyZWF0ZSgwLCAwKS5sZWFrUmVmKCk7CisgICAgICAg
IHJldHVybiBPcGFxdWVKU1N0cmluZzo6Y3JlYXRlKHN0YXRpY19jYXN0PGNvbnN0IExDaGFyKj4o
MCksIDApLmxlYWtSZWYoKTsKICAgICB9CiB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9BUEkvT3BhcXVlSlNTdHJpbmcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvQVBJL09wYXF1ZUpTU3RyaW5nLmgJKHJldmlzaW9uIDEzMTc4MSkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9BUEkvT3BhcXVlSlNTdHJpbmcuaAkod29ya2luZyBjb3B5KQpAQCAtNDEsNiAr
NDEsMTEgQEAgc3RydWN0IE9wYXF1ZUpTU3RyaW5nIDogcHVibGljIFRocmVhZFNhZgogICAgICAg
ICByZXR1cm4gYWRvcHRSZWYobmV3IE9wYXF1ZUpTU3RyaW5nKTsKICAgICB9CiAKKyAgICBzdGF0
aWMgUGFzc1JlZlB0cjxPcGFxdWVKU1N0cmluZz4gY3JlYXRlKGNvbnN0IExDaGFyKiBjaGFyYWN0
ZXJzLCB1bnNpZ25lZCBsZW5ndGgpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3
IE9wYXF1ZUpTU3RyaW5nKGNoYXJhY3RlcnMsIGxlbmd0aCkpOworICAgIH0KKwogICAgIHN0YXRp
YyBQYXNzUmVmUHRyPE9wYXF1ZUpTU3RyaW5nPiBjcmVhdGUoY29uc3QgVUNoYXIqIGNoYXJhY3Rl
cnMsIHVuc2lnbmVkIGxlbmd0aCkKICAgICB7CiAgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcg
T3BhcXVlSlNTdHJpbmcoY2hhcmFjdGVycywgbGVuZ3RoKSk7CkBAIC03MCw2ICs3NSwxMSBAQCBw
cml2YXRlOgogICAgICAgICAgICAgbV9zdHJpbmcgPSBTdHJpbmcoc3RyaW5nLmNoYXJhY3RlcnMx
NigpLCBzdHJpbmcubGVuZ3RoKCkpOwogICAgIH0KIAorICAgIE9wYXF1ZUpTU3RyaW5nKGNvbnN0
IExDaGFyKiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBsZW5ndGgpCisgICAgeworICAgICAgICBtX3N0
cmluZyA9IFN0cmluZyhjaGFyYWN0ZXJzLCBsZW5ndGgpOworICAgIH0KKwogICAgIE9wYXF1ZUpT
U3RyaW5nKGNvbnN0IFVDaGFyKiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBsZW5ndGgpCiAgICAgewog
ICAgICAgICBtX3N0cmluZyA9IFN0cmluZyhjaGFyYWN0ZXJzLCBsZW5ndGgpOwpJbmRleDogU291
cmNlL1dURi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDEzMTc4MikKKysrIFNvdXJjZS9XVEYvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMTItMTAtMTggIE1pY2hhZWwgU2Fib2ZmICA8bXNhYm9mZkBhcHBs
ZS5jb20+CisKKyAgICAgICAgY29udmVydFVURjhUb1VURjE2KCkgU2hvdWxkIENoZWNrIGZvciBB
U0NJSSBJbnB1dAorICAgICAgICBpaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTk5NzM5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQWRkZWQgY29kZSB0byBhY2N1bXVsYXRlIHRoZSAib3IiIG9mIGFsbCBjaGFyYWN0ZXJzIHNl
ZW4gZHVyaW5nIHRoZSBVVEY4IHRvIFVURjE2IGNvbnZlcnNpb24uICBUaGlzIGlzCisgICAgICAg
IHVzZWQgdG8gY2hlY2sgdG8gc2VlIGlmIGFsbCBjaGFyYWN0ZXJzIGFyZSBBU0NJSSBhbmQgaXMg
cmV0dXJuZWQgdmlhIGEgYm9vbCouCisKKyAgICAgICAgKiB3dGYvdW5pY29kZS9VVEY4LmNwcDoK
KyAgICAgICAgKFdURjo6VW5pY29kZTo6Y29udmVydFVURjhUb1VURjE2KToKKyAgICAgICAgKiB3
dGYvdW5pY29kZS9VVEY4Lmg6CisKIDIwMTItMTAtMTcgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVy
c2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBDbGVhbiB1cCBWZWN0b3IuaApJbmRleDogU291cmNl
L1dURi93dGYvdW5pY29kZS9VVEY4LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi91
bmljb2RlL1VURjguY3BwCShyZXZpc2lvbiAxMzE3ODEpCisrKyBTb3VyY2UvV1RGL3d0Zi91bmlj
b2RlL1VURjguY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOTcsMTEgKzI5NywxMiBAQCBzdGF0aWMg
aW5saW5lIFVDaGFyMzIgcmVhZFVURjhTZXF1ZW5jZShjCiAKIENvbnZlcnNpb25SZXN1bHQgY29u
dmVydFVURjhUb1VURjE2KAogICAgIGNvbnN0IGNoYXIqKiBzb3VyY2VTdGFydCwgY29uc3QgY2hh
ciogc291cmNlRW5kLCAKLSAgICBVQ2hhcioqIHRhcmdldFN0YXJ0LCBVQ2hhciogdGFyZ2V0RW5k
LCBib29sIHN0cmljdCkKKyAgICBVQ2hhcioqIHRhcmdldFN0YXJ0LCBVQ2hhciogdGFyZ2V0RW5k
LCBib29sKiBzb3VyY2VBbGxBU0NJSSwgYm9vbCBzdHJpY3QpCiB7CiAgICAgQ29udmVyc2lvblJl
c3VsdCByZXN1bHQgPSBjb252ZXJzaW9uT0s7CiAgICAgY29uc3QgY2hhciogc291cmNlID0gKnNv
dXJjZVN0YXJ0OwogICAgIFVDaGFyKiB0YXJnZXQgPSAqdGFyZ2V0U3RhcnQ7CisgICAgVUNoYXIg
b3JBbGxEYXRhID0gMDsKICAgICB3aGlsZSAoc291cmNlIDwgc291cmNlRW5kKSB7CiAgICAgICAg
IGludCB1dGY4U2VxdWVuY2VMZW5ndGggPSBpbmxpbmVVVEY4U2VxdWVuY2VMZW5ndGgoKnNvdXJj
ZSk7CiAgICAgICAgIGlmIChzb3VyY2VFbmQgLSBzb3VyY2UgPCB1dGY4U2VxdWVuY2VMZW5ndGgp
ICB7CkBAIC0zMjksMTAgKzMzMCwxNCBAQCBDb252ZXJzaW9uUmVzdWx0IGNvbnZlcnRVVEY4VG9V
VEYxNigKICAgICAgICAgICAgICAgICAgICAgc291cmNlIC09IHV0ZjhTZXF1ZW5jZUxlbmd0aDsg
Ly8gcmV0dXJuIHRvIHRoZSBpbGxlZ2FsIHZhbHVlIGl0c2VsZgogICAgICAgICAgICAgICAgICAg
ICByZXN1bHQgPSBzb3VyY2VJbGxlZ2FsOwogICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAg
ICAgICAgICAgICAqdGFyZ2V0KysgPSByZXBsYWNlbWVudENoYXJhY3RlcjsKLSAgICAgICAgICAg
IH0gZWxzZQorICAgICAgICAgICAgICAgICAgICBvckFsbERhdGEgfD0gcmVwbGFjZW1lbnRDaGFy
YWN0ZXI7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAg
ICAgICAgICAqdGFyZ2V0KysgPSBjaGFyYWN0ZXI7IC8vIG5vcm1hbCBjYXNlCisgICAgICAgICAg
ICAgICAgb3JBbGxEYXRhIHw9IGNoYXJhY3RlcjsKKyAgICAgICAgICAgIH0KICAgICAgICAgfSBl
bHNlIGlmIChVX0lTX1NVUFBMRU1FTlRBUlkoY2hhcmFjdGVyKSkgewogICAgICAgICAgICAgLy8g
dGFyZ2V0IGlzIGEgY2hhcmFjdGVyIGluIHJhbmdlIDB4RkZGRiAtIDB4MTBGRkZGCiAgICAgICAg
ICAgICBpZiAodGFyZ2V0ICsgMSA+PSB0YXJnZXRFbmQpIHsKQEAgLTM0MiwxNyArMzQ3LDI0IEBA
IENvbnZlcnNpb25SZXN1bHQgY29udmVydFVURjhUb1VURjE2KAogICAgICAgICAgICAgfQogICAg
ICAgICAgICAgKnRhcmdldCsrID0gVTE2X0xFQUQoY2hhcmFjdGVyKTsKICAgICAgICAgICAgICp0
YXJnZXQrKyA9IFUxNl9UUkFJTChjaGFyYWN0ZXIpOworICAgICAgICAgICAgb3JBbGxEYXRhID0g
MHhmZmZmOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgaWYgKHN0cmljdCkgewogICAg
ICAgICAgICAgICAgIHNvdXJjZSAtPSB1dGY4U2VxdWVuY2VMZW5ndGg7IC8vIHJldHVybiB0byB0
aGUgc3RhcnQKICAgICAgICAgICAgICAgICByZXN1bHQgPSBzb3VyY2VJbGxlZ2FsOwogICAgICAg
ICAgICAgICAgIGJyZWFrOyAvLyBCYWlsIG91dDsgc2hvdWxkbid0IGNvbnRpbnVlCi0gICAgICAg
ICAgICB9IGVsc2UKKyAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgKnRhcmdl
dCsrID0gcmVwbGFjZW1lbnRDaGFyYWN0ZXI7CisgICAgICAgICAgICAgICAgb3JBbGxEYXRhIHw9
IHJlcGxhY2VtZW50Q2hhcmFjdGVyOworICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQog
ICAgICpzb3VyY2VTdGFydCA9IHNvdXJjZTsKICAgICAqdGFyZ2V0U3RhcnQgPSB0YXJnZXQ7CisK
KyAgICBpZiAoc291cmNlQWxsQVNDSUkpCisgICAgICAgICpzb3VyY2VBbGxBU0NJSSA9ICEob3JB
bGxEYXRhICYgMHg3Zik7CisKICAgICByZXR1cm4gcmVzdWx0OwogfQogCkluZGV4OiBTb3VyY2Uv
V1RGL3d0Zi91bmljb2RlL1VURjguaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV1RGL3d0Zi91bmlj
b2RlL1VURjguaAkocmV2aXNpb24gMTMxNzgxKQorKysgU291cmNlL1dURi93dGYvdW5pY29kZS9V
VEY4LmgJKHdvcmtpbmcgY29weSkKQEAgLTY0LDcgKzY0LDcgQEAgbmFtZXNwYWNlIFVuaWNvZGUg
ewogCiAgICAgV1RGX0VYUE9SVF9QUklWQVRFIENvbnZlcnNpb25SZXN1bHQgY29udmVydFVURjhU
b1VURjE2KAogICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiogc291cmNlU3RhcnQsIGNv
bnN0IGNoYXIqIHNvdXJjZUVuZCwgCi0gICAgICAgICAgICAgICAgICAgIFVDaGFyKiogdGFyZ2V0
U3RhcnQsIFVDaGFyKiB0YXJnZXRFbmQsIGJvb2wgc3RyaWN0ID0gdHJ1ZSk7CisgICAgICAgICAg
ICAgICAgICAgIFVDaGFyKiogdGFyZ2V0U3RhcnQsIFVDaGFyKiB0YXJnZXRFbmQsIGJvb2wqIGlz
U291cmNlQWxsQVNDSUkgPSAwLCBib29sIHN0cmljdCA9IHRydWUpOwogCiAgICAgV1RGX0VYUE9S
VF9QUklWQVRFIENvbnZlcnNpb25SZXN1bHQgY29udmVydExhdGluMVRvVVRGOCgKICAgICAgICAg
ICAgICAgICAgICAgY29uc3QgTENoYXIqKiBzb3VyY2VTdGFydCwgY29uc3QgTENoYXIqIHNvdXJj
ZUVuZCwgCg==
</data>
<flag name="review"
          id="182777"
          type_id="1"
          status="+"
          setter="ggaren"
    />
    <flag name="commit-queue"
          id="182778"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
      

    </bug>

</bugzilla>