<?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>64157</bug_id>
          
          <creation_ts>2011-07-08 03:35:10 -0700</creation_ts>
          <short_desc>AudioDevice::Stop can close NULL handle.</short_desc>
          <delta_ts>2011-07-12 14:46:49 -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>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows Vista</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Berend-Jan Wever">skylined</reporter>
          <assigned_to name="Chris Rogers">crogers</assigned_to>
          <cc>kbr</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>433980</commentid>
    <comment_count>0</comment_count>
      <attachid>100102</attachid>
    <who name="Berend-Jan Wever">skylined</who>
    <bug_when>2011-07-08 03:35:10 -0700</bug_when>
    <thetext>Created attachment 100102
Repro (press F5 to crash)

Chromium: https://code.google.com/p/chromium/issues/detail?id=88740

Repro:
&lt;script&gt;
  setInterval(function () {
    var oAudioContext = new webkitAudioContext();
    oGainNode = oAudioContext.createGainNode();
  }, 1);
&lt;/script&gt;
Load the above file, then press F5 to reload and cause the crash. The code tries to join a thread whose id is 0, which leads to closing an invalid handle (0) on Windows. I don&apos;t know how linux/mac handle this.

Possible solutions:
- AudioDevice::Stop should check if the thread exists before joining it
http://codesearch.google.com/codesearch#OAMlx_jo-ck/src/content/renderer/media/audio_device.cc&amp;q=&amp;exact_package=chromium&amp;l=114

- SimpleThread::Join() should return immediately if the thread id is 0.
http://codesearch.google.com/codesearch#OAMlx_jo-ck/src/base/threading/simple_thread.cc&amp;q=&amp;exact_package=chromium&amp;l=39</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>435296</commentid>
    <comment_count>1</comment_count>
      <attachid>100382</attachid>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2011-07-11 16:36:46 -0700</bug_when>
    <thetext>Created attachment 100382
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>435326</commentid>
    <comment_count>2</comment_count>
      <attachid>100382</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2011-07-11 17:20:10 -0700</bug_when>
    <thetext>Comment on attachment 100382
Patch

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

Basically looks good except for a small issue in the bindings.

&gt; Source/WebCore/bindings/js/JSAudioContextCustom.cpp:72
&gt; +            return throwVMError(exec, createReferenceError(exec, &quot;audio resources unavailable for AudioContext construction&quot;));

The JS bindings are throwing a ReferenceError, while the V8 bindings are throwing a SyntaxError. These should be aligned.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>435963</commentid>
    <comment_count>3</comment_count>
      <attachid>100565</attachid>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2011-07-12 14:37:17 -0700</bug_when>
    <thetext>Created attachment 100565
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>435966</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2011-07-12 14:39:08 -0700</bug_when>
    <thetext>Sorry, this was already R+, but after some extensive testing I found that it&apos;s necessary to decrement s_hardwareContextCount in the uninitialize() method instead of destructor since garbage collection can take a long time and hold up new contexts being created.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>435974</commentid>
    <comment_count>5</comment_count>
      <attachid>100565</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2011-07-12 14:42:05 -0700</bug_when>
    <thetext>Comment on attachment 100565
Patch

OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>435979</commentid>
    <comment_count>6</comment_count>
    <who name="Chris Rogers">crogers</who>
    <bug_when>2011-07-12 14:46:49 -0700</bug_when>
    <thetext>Committed r90853: &lt;http://trac.webkit.org/changeset/90853&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>100102</attachid>
            <date>2011-07-08 03:35:10 -0700</date>
            <delta_ts>2011-07-08 03:35:10 -0700</delta_ts>
            <desc>Repro (press F5 to crash)</desc>
            <filename>repro2.html</filename>
            <type>text/html</type>
            <size>153</size>
            <attacher name="Berend-Jan Wever">skylined</attacher>
            
              <data encoding="base64">PHNjcmlwdD4KICBzZXRJbnRlcnZhbChmdW5jdGlvbiAoKSB7CiAgICB2YXIgb0F1ZGlvQ29udGV4
dCA9IG5ldyB3ZWJraXRBdWRpb0NvbnRleHQoKTsKICAgIG9HYWluTm9kZSA9IG9BdWRpb0NvbnRl
eHQuY3JlYXRlR2Fpbk5vZGUoKTsKICB9LCAxKTsKPC9zY3JpcHQ+
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>100382</attachid>
            <date>2011-07-11 16:36:46 -0700</date>
            <delta_ts>2011-07-12 14:37:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-64157-20110711163645.patch</filename>
            <type>text/plain</type>
            <size>4512</size>
            <attacher name="Chris Rogers">crogers</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDkwNzg0KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTEtMDctMTEgIENocmlzIFJv
Z2VycyAgPGNyb2dlcnNAZ29vZ2xlLmNvbT4KKworICAgICAgICBBdWRpb0RldmljZTo6U3RvcCBj
YW4gY2xvc2UgTlVMTCBoYW5kbGUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD02NDE1NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBzaW5jZSBhdWRpbyBBUEkgaXMgbm90IHlldCBpbXBs
ZW1lbnRlZC4KKworICAgICAgICAqIGJpbmRpbmdzL2pzL0pTQXVkaW9Db250ZXh0Q3VzdG9tLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkpTQXVkaW9Db250ZXh0Q29uc3RydWN0b3I6OmNvbnN0cnVj
dEpTQXVkaW9Db250ZXh0KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhBdWRpb0Nv
bnRleHRDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhBdWRpb0NvbnRleHQ6OmNvbnN0
cnVjdG9yQ2FsbGJhY2spOgorICAgICAgICAqIHdlYmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpBdWRpb0NvbnRleHQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpBdWRpb0NvbnRleHQ6On5BdWRpb0NvbnRleHQpOgorICAgICAgICAqIHdlYmF1ZGlvL0F1ZGlv
Q29udGV4dC5oOgorCiAyMDExLTA3LTExICBZaSBTaGVuICA8eWkuNC5zaGVuQG5va2lhLmNvbT4K
IAogICAgICAgICBbUXRdIFVucmV2aWV3ZWQgcm9sbG91dCA5MDc3OSB3aGljaCBtYXkgZmFpbCB0
aGUgbGF5b3V0LXRlc3QuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0F1ZGlv
Q29udGV4dEN1c3RvbS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNBdWRpb0NvbnRleHRDdXN0b20uY3BwCShyZXZpc2lvbiA5MDM5OSkKKysrIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTQXVkaW9Db250ZXh0Q3VzdG9tLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNjgsNiArNjgsOCBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIEpTQXVkaW9D
b250CiAgICAgaWYgKCFleGVjLT5hcmd1bWVudENvdW50KCkpIHsKICAgICAgICAgLy8gQ29uc3Ry
dWN0b3IgZm9yIGRlZmF1bHQgQXVkaW9Db250ZXh0IHdoaWNoIHRhbGtzIHRvIGF1ZGlvIGhhcmR3
YXJlLgogICAgICAgICBhdWRpb0NvbnRleHQgPSBBdWRpb0NvbnRleHQ6OmNyZWF0ZShkb2N1bWVu
dCk7CisgICAgICAgIGlmICghYXVkaW9Db250ZXh0LmdldCgpKQorICAgICAgICAgICAgcmV0dXJu
IHRocm93Vk1FcnJvcihleGVjLCBjcmVhdGVSZWZlcmVuY2VFcnJvcihleGVjLCAiYXVkaW8gcmVz
b3VyY2VzIHVuYXZhaWxhYmxlIGZvciBBdWRpb0NvbnRleHQgY29uc3RydWN0aW9uIikpOwogICAg
IH0gZWxzZSB7CiAgICAgICAgIC8vIENvbnN0cnVjdG9yIGZvciBvZmZsaW5lIChyZW5kZXItdGFy
Z2V0KSBBdWRpb0NvbnRleHQgd2hpY2ggcmVuZGVycyBpbnRvIGFuIEF1ZGlvQnVmZmVyLgogICAg
ICAgICAvLyBuZXcgQXVkaW9Db250ZXh0KGluIHVuc2lnbmVkIGxvbmcgbnVtYmVyT2ZDaGFubmVs
cywgaW4gdW5zaWduZWQgbG9uZyBudW1iZXJPZkZyYW1lcywgaW4gZmxvYXQgc2FtcGxlUmF0ZSk7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhBdWRpb0NvbnRleHRD
dXN0b20uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOEF1ZGlvQ29udGV4dEN1c3RvbS5jcHAJKHJldmlzaW9uIDkwMzk5KQorKysgU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4QXVkaW9Db250ZXh0Q3VzdG9tLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNTYsNiArNTYsOCBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhBdWRpb0Nv
bnRleHQ6OmNvCiAgICAgaWYgKCFhcmdzLkxlbmd0aCgpKSB7CiAgICAgICAgIC8vIENvbnN0cnVj
dG9yIGZvciBkZWZhdWx0IEF1ZGlvQ29udGV4dCB3aGljaCB0YWxrcyB0byBhdWRpbyBoYXJkd2Fy
ZS4KICAgICAgICAgYXVkaW9Db250ZXh0ID0gQXVkaW9Db250ZXh0OjpjcmVhdGUoZG9jdW1lbnQp
OworICAgICAgICBpZiAoIWF1ZGlvQ29udGV4dC5nZXQoKSkKKyAgICAgICAgICAgIHJldHVybiB0
aHJvd0Vycm9yKCJhdWRpbyByZXNvdXJjZXMgdW5hdmFpbGFibGUgZm9yIEF1ZGlvQ29udGV4dCBj
b25zdHJ1Y3Rpb24iLCBWOFByb3h5OjpTeW50YXhFcnJvcik7CiAgICAgfSBlbHNlIHsKICAgICAg
ICAgLy8gQ29uc3RydWN0b3IgZm9yIG9mZmxpbmUgKHJlbmRlci10YXJnZXQpIEF1ZGlvQ29udGV4
dCB3aGljaCByZW5kZXJzIGludG8gYW4gQXVkaW9CdWZmZXIuCiAgICAgICAgIC8vIG5ldyBBdWRp
b0NvbnRleHQoaW4gdW5zaWduZWQgbG9uZyBudW1iZXJPZkNoYW5uZWxzLCBpbiB1bnNpZ25lZCBs
b25nIG51bWJlck9mRnJhbWVzLCBpbiBmbG9hdCBzYW1wbGVSYXRlKTsKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmNwcAkocmV2aXNpb24gOTAzOTkpCisrKyBTb3Vy
Y2UvV2ViQ29yZS93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02
Miw2ICs2Miw3IEBACiAjaW5jbHVkZSA8c3RkaW8uaD4KICNlbmRpZgogCisjaW5jbHVkZSA8d3Rm
L0F0b21pY3MuaD4KICNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1Bhc3NP
d25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgpAQCAtNzMsOCArNzQsMTcgQEAg
Y29uc3QgdW5zaWduZWQgTWF4Tm9kZXNUb0RlbGV0ZVBlclF1YW50dQogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKKy8vIERvbid0IGFsbG93IG1vcmUgdGhhbiB0aGlzIG51bWJlciBvZiBzaW11bHRh
bmVvdXMgQXVkaW9Db250ZXh0cyB0YWxraW5nIHRvIGhhcmR3YXJlLgorY29uc3QgaW50IE1heEhh
cmR3YXJlQ29udGV4dHMgPSA0Owordm9sYXRpbGUgaW50IEF1ZGlvQ29udGV4dDo6c19oYXJkd2Fy
ZUNvbnRleHRDb3VudCA9IDA7CisKIFBhc3NSZWZQdHI8QXVkaW9Db250ZXh0PiBBdWRpb0NvbnRl
eHQ6OmNyZWF0ZShEb2N1bWVudCogZG9jdW1lbnQpCiB7CisgICAgaWYgKHNfaGFyZHdhcmVDb250
ZXh0Q291bnQgPj0gTWF4SGFyZHdhcmVDb250ZXh0cykKKyAgICAgICAgcmV0dXJuIDA7CisKKyAg
ICBhdG9taWNJbmNyZW1lbnQoJnNfaGFyZHdhcmVDb250ZXh0Q291bnQpOworICAgICAgICAKICAg
ICByZXR1cm4gYWRvcHRSZWYobmV3IEF1ZGlvQ29udGV4dChkb2N1bWVudCkpOwogfQogCkBAIC0x
NTQsNiArMTY0LDkgQEAgQXVkaW9Db250ZXh0Ojp+QXVkaW9Db250ZXh0KCkKICAgICBBU1NFUlQo
IW1fbm9kZXNUb0RlbGV0ZS5zaXplKCkpOwogICAgIEFTU0VSVCghbV9yZWZlcmVuY2VkTm9kZXMu
c2l6ZSgpKTsKICAgICBBU1NFUlQoIW1fZmluaXNoZWROb2Rlcy5zaXplKCkpOworCisgICAgaWYg
KCFpc09mZmxpbmVDb250ZXh0KCkpCisgICAgICAgIGF0b21pY0RlY3JlbWVudCgmc19oYXJkd2Fy
ZUNvbnRleHRDb3VudCk7CiB9CiAKIHZvaWQgQXVkaW9Db250ZXh0OjpsYXp5SW5pdGlhbGl6ZSgp
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS93ZWJhdWRpby9BdWRpb0NvbnRleHQuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS93ZWJhdWRpby9BdWRpb0NvbnRleHQuaAkocmV2aXNpb24gOTAz
OTkpCisrKyBTb3VyY2UvV2ViQ29yZS93ZWJhdWRpby9BdWRpb0NvbnRleHQuaAkod29ya2luZyBj
b3B5KQpAQCAtMjEzLDYgKzIxMyw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHN0YXJ0UmVuZGVyaW5n
KCk7CiAgICAgdm9pZCBmaXJlQ29tcGxldGlvbkV2ZW50KCk7CiAgICAgCisgICAgdm9sYXRpbGUg
c3RhdGljIGludCBzX2hhcmR3YXJlQ29udGV4dENvdW50OworICAgIAogcHJpdmF0ZToKICAgICBB
dWRpb0NvbnRleHQoRG9jdW1lbnQqKTsKICAgICBBdWRpb0NvbnRleHQoRG9jdW1lbnQqLCB1bnNp
Z25lZCBudW1iZXJPZkNoYW5uZWxzLCBzaXplX3QgbnVtYmVyT2ZGcmFtZXMsIGRvdWJsZSBzYW1w
bGVSYXRlKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>100565</attachid>
            <date>2011-07-12 14:37:17 -0700</date>
            <delta_ts>2011-07-12 14:42:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-64157-20110712143716.patch</filename>
            <type>text/plain</type>
            <size>4872</size>
            <attacher name="Chris Rogers">crogers</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDkwODUwKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTEtMDctMTIgIENocmlzIFJv
Z2VycyAgPGNyb2dlcnNAZ29vZ2xlLmNvbT4KKworICAgICAgICBBdWRpb0RldmljZTo6U3RvcCBj
YW4gY2xvc2UgTlVMTCBoYW5kbGUuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD02NDE1NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBzaW5jZSBhdWRpbyBBUEkgaXMgbm90IHlldCBpbXBs
ZW1lbnRlZC4KKworICAgICAgICAqIGJpbmRpbmdzL2pzL0pTQXVkaW9Db250ZXh0Q3VzdG9tLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkpTQXVkaW9Db250ZXh0Q29uc3RydWN0b3I6OmNvbnN0cnVj
dEpTQXVkaW9Db250ZXh0KToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhBdWRpb0Nv
bnRleHRDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhBdWRpb0NvbnRleHQ6OmNvbnN0
cnVjdG9yQ2FsbGJhY2spOgorICAgICAgICAqIHdlYmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpBdWRpb0NvbnRleHQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpBdWRpb0NvbnRleHQ6OnVuaW5pdGlhbGl6ZSk6CisgICAgICAgICogd2ViYXVkaW8vQXVkaW9D
b250ZXh0Lmg6CisKIDIwMTEtMDctMTIgIEpvaG4gQmF0ZXMgIDxqYmF0ZXNAZ29vZ2xlLmNvbT4K
IAogICAgICAgICBNb3ZlIGNhbGwgdG8gc3luY0NvbXBvc2l0aW5nTGF5ZXJzIHNvIHRoYXQgd2Ug
ZG8gbm90IHRyaWdnZXIgcmVkdW5kYW50IGRyYXdzLgpJbmRleDogU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNBdWRpb0NvbnRleHRDdXN0b20uY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTQXVkaW9Db250ZXh0Q3VzdG9tLmNwcAkocmV2aXNpb24gOTA4
NDEpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0F1ZGlvQ29udGV4dEN1c3RvbS5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTY4LDYgKzY4LDggQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hP
U1RfQ0FMTCBKU0F1ZGlvQ29udAogICAgIGlmICghZXhlYy0+YXJndW1lbnRDb3VudCgpKSB7CiAg
ICAgICAgIC8vIENvbnN0cnVjdG9yIGZvciBkZWZhdWx0IEF1ZGlvQ29udGV4dCB3aGljaCB0YWxr
cyB0byBhdWRpbyBoYXJkd2FyZS4KICAgICAgICAgYXVkaW9Db250ZXh0ID0gQXVkaW9Db250ZXh0
OjpjcmVhdGUoZG9jdW1lbnQpOworICAgICAgICBpZiAoIWF1ZGlvQ29udGV4dC5nZXQoKSkKKyAg
ICAgICAgICAgIHJldHVybiB0aHJvd1ZNRXJyb3IoZXhlYywgY3JlYXRlU3ludGF4RXJyb3IoZXhl
YywgImF1ZGlvIHJlc291cmNlcyB1bmF2YWlsYWJsZSBmb3IgQXVkaW9Db250ZXh0IGNvbnN0cnVj
dGlvbiIpKTsKICAgICB9IGVsc2UgewogICAgICAgICAvLyBDb25zdHJ1Y3RvciBmb3Igb2ZmbGlu
ZSAocmVuZGVyLXRhcmdldCkgQXVkaW9Db250ZXh0IHdoaWNoIHJlbmRlcnMgaW50byBhbiBBdWRp
b0J1ZmZlci4KICAgICAgICAgLy8gbmV3IEF1ZGlvQ29udGV4dChpbiB1bnNpZ25lZCBsb25nIG51
bWJlck9mQ2hhbm5lbHMsIGluIHVuc2lnbmVkIGxvbmcgbnVtYmVyT2ZGcmFtZXMsIGluIGZsb2F0
IHNhbXBsZVJhdGUpOwpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4
QXVkaW9Db250ZXh0Q3VzdG9tLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9jdXN0b20vVjhBdWRpb0NvbnRleHRDdXN0b20uY3BwCShyZXZpc2lvbiA5MDg0MSkK
KysrIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEF1ZGlvQ29udGV4dEN1c3Rv
bS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU5LDYgKzU5LDggQEAgdjg6OkhhbmRsZTx2ODo6VmFs
dWU+IFY4QXVkaW9Db250ZXh0OjpjbwogICAgIGlmICghYXJncy5MZW5ndGgoKSkgewogICAgICAg
ICAvLyBDb25zdHJ1Y3RvciBmb3IgZGVmYXVsdCBBdWRpb0NvbnRleHQgd2hpY2ggdGFsa3MgdG8g
YXVkaW8gaGFyZHdhcmUuCiAgICAgICAgIGF1ZGlvQ29udGV4dCA9IEF1ZGlvQ29udGV4dDo6Y3Jl
YXRlKGRvY3VtZW50KTsKKyAgICAgICAgaWYgKCFhdWRpb0NvbnRleHQuZ2V0KCkpCisgICAgICAg
ICAgICByZXR1cm4gdGhyb3dFcnJvcigiYXVkaW8gcmVzb3VyY2VzIHVuYXZhaWxhYmxlIGZvciBB
dWRpb0NvbnRleHQgY29uc3RydWN0aW9uIiwgVjhQcm94eTo6U3ludGF4RXJyb3IpOwogICAgIH0g
ZWxzZSB7CiAgICAgICAgIC8vIENvbnN0cnVjdG9yIGZvciBvZmZsaW5lIChyZW5kZXItdGFyZ2V0
KSBBdWRpb0NvbnRleHQgd2hpY2ggcmVuZGVycyBpbnRvIGFuIEF1ZGlvQnVmZmVyLgogICAgICAg
ICAvLyBuZXcgQXVkaW9Db250ZXh0KGluIHVuc2lnbmVkIGxvbmcgbnVtYmVyT2ZDaGFubmVscywg
aW4gdW5zaWduZWQgbG9uZyBudW1iZXJPZkZyYW1lcywgaW4gZmxvYXQgc2FtcGxlUmF0ZSk7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS93ZWJhdWRpby9BdWRpb0NvbnRleHQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL3dlYmF1ZGlvL0F1ZGlvQ29udGV4dC5jcHAJKHJldmlzaW9uIDkw
ODQxKQorKysgU291cmNlL1dlYkNvcmUvd2ViYXVkaW8vQXVkaW9Db250ZXh0LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtODIsOSArODIsMTkgQEAgYm9vbCBpc1NhbXBsZVJhdGVSYW5nZUdvb2QoZG91
YmxlIHNhbXBsZQogCiB9CiAKKy8vIERvbid0IGFsbG93IG1vcmUgdGhhbiB0aGlzIG51bWJlciBv
ZiBzaW11bHRhbmVvdXMgQXVkaW9Db250ZXh0cyB0YWxraW5nIHRvIGhhcmR3YXJlLgorY29uc3Qg
dW5zaWduZWQgTWF4SGFyZHdhcmVDb250ZXh0cyA9IDQ7Cit1bnNpZ25lZCBBdWRpb0NvbnRleHQ6
OnNfaGFyZHdhcmVDb250ZXh0Q291bnQgPSAwOworICAgIAogUGFzc1JlZlB0cjxBdWRpb0NvbnRl
eHQ+IEF1ZGlvQ29udGV4dDo6Y3JlYXRlKERvY3VtZW50KiBkb2N1bWVudCkKIHsKICAgICBBU1NF
UlQoZG9jdW1lbnQpOworICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CisgICAgaWYgKHNfaGFy
ZHdhcmVDb250ZXh0Q291bnQgPj0gTWF4SGFyZHdhcmVDb250ZXh0cykKKyAgICAgICAgcmV0dXJu
IDA7CisKKyAgICArK3NfaGFyZHdhcmVDb250ZXh0Q291bnQ7CisgICAgICAgIAogICAgIHJldHVy
biBhZG9wdFJlZihuZXcgQXVkaW9Db250ZXh0KGRvY3VtZW50KSk7CiB9CiAKQEAgLTE5NCw2ICsy
MDQsOCBAQCB2b2lkIEF1ZGlvQ29udGV4dDo6bGF6eUluaXRpYWxpemUoKQogCiB2b2lkIEF1ZGlv
Q29udGV4dDo6dW5pbml0aWFsaXplKCkKIHsKKyAgICBBU1NFUlQoaXNNYWluVGhyZWFkKCkpOwor
CiAgICAgaWYgKG1faXNJbml0aWFsaXplZCkgeyAgICAKICAgICAgICAgLy8gVGhpcyBzdG9wcyB0
aGUgYXVkaW8gdGhyZWFkIGFuZCBhbGwgYXVkaW8gcmVuZGVyaW5nLgogICAgICAgICBtX2Rlc3Rp
bmF0aW9uTm9kZS0+dW5pbml0aWFsaXplKCk7CkBAIC0yMDMsNiArMjE1LDExIEBAIHZvaWQgQXVk
aW9Db250ZXh0Ojp1bmluaXRpYWxpemUoKQogCiAgICAgICAgIC8vIFdlIGhhdmUgdG8gcmVsZWFz
ZSBvdXIgcmVmZXJlbmNlIHRvIHRoZSBkZXN0aW5hdGlvbiBub2RlIGJlZm9yZSB0aGUgY29udGV4
dCB3aWxsIGV2ZXIgYmUgZGVsZXRlZCBzaW5jZSB0aGUgZGVzdGluYXRpb24gbm9kZSBob2xkcyBh
IHJlZmVyZW5jZSB0byB0aGUgY29udGV4dC4KICAgICAgICAgbV9kZXN0aW5hdGlvbk5vZGUuY2xl
YXIoKTsKKworICAgICAgICBpZiAoIWlzT2ZmbGluZUNvbnRleHQoKSkgeworICAgICAgICAgICAg
QVNTRVJUKHNfaGFyZHdhcmVDb250ZXh0Q291bnQpOworICAgICAgICAgICAgLS1zX2hhcmR3YXJl
Q29udGV4dENvdW50OworICAgICAgICB9CiAgICAgICAgIAogICAgICAgICAvLyBHZXQgcmlkIG9m
IHRoZSBzb3VyY2VzIHdoaWNoIG1heSBzdGlsbCBiZSBwbGF5aW5nLgogICAgICAgICBkZXJlZlVu
ZmluaXNoZWRTb3VyY2VOb2RlcygpOwpJbmRleDogU291cmNlL1dlYkNvcmUvd2ViYXVkaW8vQXVk
aW9Db250ZXh0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd2ViYXVkaW8vQXVkaW9D
b250ZXh0LmgJKHJldmlzaW9uIDkwODQxKQorKysgU291cmNlL1dlYkNvcmUvd2ViYXVkaW8vQXVk
aW9Db250ZXh0LmgJKHdvcmtpbmcgY29weSkKQEAgLTIxMyw2ICsyMTMsOCBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBzdGFydFJlbmRlcmluZygpOwogICAgIHZvaWQgZmlyZUNvbXBsZXRpb25FdmVudCgp
OwogICAgIAorICAgIHN0YXRpYyB1bnNpZ25lZCBzX2hhcmR3YXJlQ29udGV4dENvdW50OworICAg
IAogcHJpdmF0ZToKICAgICBBdWRpb0NvbnRleHQoRG9jdW1lbnQqKTsKICAgICBBdWRpb0NvbnRl
eHQoRG9jdW1lbnQqLCB1bnNpZ25lZCBudW1iZXJPZkNoYW5uZWxzLCBzaXplX3QgbnVtYmVyT2ZG
cmFtZXMsIGRvdWJsZSBzYW1wbGVSYXRlKTsK
</data>
<flag name="review"
          id="95230"
          type_id="1"
          status="+"
          setter="kbr"
    />
          </attachment>
      

    </bug>

</bugzilla>