<?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>39327</bug_id>
          
          <creation_ts>2010-05-18 16:00:05 -0700</creation_ts>
          <short_desc>Enforce size constraints on various data structures in JavaScriptCore/wtf.</short_desc>
          <delta_ts>2010-09-02 13:48:53 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="David Levin">levin</reporter>
          <assigned_to name="David Levin">levin</assigned_to>
          <cc>abarth</cc>
    
    <cc>darin</cc>
    
    <cc>eric</cc>
    
    <cc>hamaji</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zoltan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>227532</commentid>
    <comment_count>0</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2010-05-18 16:00:05 -0700</bug_when>
    <thetext>Enforce size constraints on various data structures in JavaScriptCore/wtf.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227537</commentid>
    <comment_count>1</comment_count>
      <attachid>56418</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2010-05-18 16:05:55 -0700</bug_when>
    <thetext>Created attachment 56418
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>227539</commentid>
    <comment_count>2</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2010-05-18 16:10:23 -0700</bug_when>
    <thetext>This is a start of helping to automatically enforce memory constraints on key data structures.

The idea for doing this comes from https://bugs.webkit.org/show_bug.cgi?id=38906#c5 and that it would be good to detect issues like this automatically at build time.

This patch only addresses wtf items. (A future one could address some WebCore items.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229086</commentid>
    <comment_count>3</comment_count>
      <attachid>56744</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2010-05-21 14:07:07 -0700</bug_when>
    <thetext>Created attachment 56744
Proposed fix (same as last time, just updated to not have conflicts with things that have landed).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229087</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-05-21 14:08:45 -0700</bug_when>
    <thetext>Attachment 56744 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;, &apos;--no-squash&apos;]&quot; exit_code: 1
JavaScriptCore/wtf/WTFCompileAsserts.cpp:33:  Found other header before a header this file implements. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
Total errors found: 1 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229091</commentid>
    <comment_count>5</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2010-05-21 14:14:34 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;, &apos;--no-squash&apos;]&quot; exit_code: 1
&gt; JavaScriptCore/wtf/WTFCompileAsserts.cpp:33:  Found other header before a header this file implements. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
&gt; Total errors found: 1 in 6 files
&gt; 
&gt; If any of these errors are false positives, please file a bug against check-webkit-style.

Done: https://bugs.webkit.org/show_bug.cgi?id=39514</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229132</commentid>
    <comment_count>6</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-05-21 15:26:48 -0700</bug_when>
    <thetext>This seems like a great idea. Anders Carlsson and I have talked about going even further.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229135</commentid>
    <comment_count>7</comment_count>
      <attachid>56744</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-05-21 15:28:05 -0700</bug_when>
    <thetext>Comment on attachment 56744
Proposed fix (same as last time, just updated to not have conflicts with things that have landed).

&gt; +++ b/JavaScriptCore/wtf/WTFCompileAsserts.cpp

It seems strange to have WTF in the filename here. Also, I think they are assertions, not &quot;asserts&quot;.

If the intent here is to have these be size assertions only, then I think the file name is not quite right.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229146</commentid>
    <comment_count>8</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2010-05-21 15:45:04 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 56744 [details])
&gt; &gt; +++ b/JavaScriptCore/wtf/WTFCompileAsserts.cpp
&gt; 
&gt; It seems strange to have WTF in the filename here. Also, I think they are assertions, not &quot;asserts&quot;.
&gt; 
&gt; If the intent here is to have these be size assertions only, then I think the file name is not quite right.

How about SizeLimits.cpp ?

This is a cpp file which contains size constraints/limits for data structures in WTF (that don&apos;t have their own cpp file).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229147</commentid>
    <comment_count>9</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-05-21 15:45:39 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; How about SizeLimits.cpp ?

Sounds pretty good to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229158</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-05-21 16:11:33 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/59969 might have broken Chromium Linux Release</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229159</commentid>
    <comment_count>11</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2010-05-21 16:20:51 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; http://trac.webkit.org/changeset/59969 might have broken Chromium Linux Release

Fix this and Snow Leopard, here http://trac.webkit.org/changeset/59970 (by removing one compile assert for the moment for cross thread ref counted -- I&apos;ll look to add this one back in the future).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>273539</commentid>
    <comment_count>12</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-09-02 13:48:53 -0700</bug_when>
    <thetext>Looks like this can be closed.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>56418</attachid>
            <date>2010-05-18 16:05:55 -0700</date>
            <delta_ts>2010-05-21 14:07:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-39327-20100518160748.patch</filename>
            <type>text/plain</type>
            <size>9641</size>
            <attacher name="David Levin">levin</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCBjNTExM2Q5NDcxNGE4YTY0ODk1M2E1ZDJiYzQyZjlkNjkwODNhMDY5Li4x
NWJlZWQ4YTZhZjU2MzJkNmMyYzg1NTdjYjhjNTMxNDIxNmQyNjZlIDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTkgQEAKKzIwMTAtMDUtMTggIERhdmlkIExldmluICA8bGV2aW5AY2hyb21pdW0ub3Jn
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVuZm9y
Y2Ugc2l6ZSBjb25zdHJhaW50cyBvbiB2YXJpb3VzIGRhdGEgc3RydWN0dXJlcyBpbiBKYXZhU2Ny
aXB0Q29yZS93dGYuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0zOTMyNworCisgICAgICAgIEkgb25seSBtb2RpZmllZCB0aGUgZGVmYXVsdCBidWlsZCBm
b3IgT1NYIGFuZCBDaHJvbWl1bSdzIGJ1aWxkIGZpbGUgdG8gaW5jbHVkZSBXVEZDb21waWxlQXNz
ZXJ0cy5jcHAKKyAgICAgICAgYXMgdGhvc2Ugc2hvdWxkIGJlIHN1ZmZpY2llbnQgdG8gY2F0Y2gg
cmVncmVzc2lvbnMgb24gdGhlIHNpemUgb2YgdGhlIGRhdGEgc3RydWN0dXJlcy4KKworICAgICAg
ICAqIEphdmFTY3JpcHRDb3JlLmd5cGk6IEFkZGVkIHRoZSBXVEZDb21waWxlQXNzZXJ0cy5jcHAg
ZmlsZS4KKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
OiBBZGRlZCB0aGUgV1RGQ29tcGlsZUFzc2VydHMuY3BwIGZpbGUuCisgICAgICAgICogcnVudGlt
ZS9VU3RyaW5nLmNwcDogQWRkZWQgYSBjb21waWxlIGFzc2VydCBmb3IgVVN0cmluZyBzaXplLgor
ICAgICAgICAqIHd0Zi9XVEZDb21waWxlQXNzZXJ0cy5jcHA6IEFkZGVkIGNvbXBpbGUgYXNzZXJ0
cyBmb3IgZGF0YSBzdHJ1Y3R1cmVzIHRoYXQgZGlkbid0IGhhdmUgY3BwIGZpbGVzLgorICAgICAg
ICAqIHd0Zi90ZXh0L1N0cmluZ0ltcGwuY3BwOiBBZGRlZCBhIGNvbXBpbGUgYXNzZXJ0IGZvciBT
dHJpbmdJbXBsIHNpemUuCisKIDIwMTAtMDUtMTQgIENoYW8teWluZyBGdSAgPGZ1QG1pcHMuY29t
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IE9saXZlciBIdW50LgpkaWZmIC0tZ2l0IGEvSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaSBiL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLmd5cGkKaW5kZXggMmQxZjIwYTJlMTRmYmYxNDEzODhmMjNjYmQ0MmM5YjdmNGY2MjliOS4u
YjgwZmVkMTE4M2JkZWQ0ZjM4ZGVmM2U2ZTg0ZjE0YzEzMGMwYmNmMSAxMDA2NDQKLS0tIGEvSmF2
YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaQorKysgYi9KYXZhU2NyaXB0Q29yZS9KYXZh
U2NyaXB0Q29yZS5neXBpCkBAIC00NTIsNiArNDUyLDcgQEAKICAgICAgICAgICAgICd3dGYvVmVj
dG9yLmgnLAogICAgICAgICAgICAgJ3d0Zi9WZWN0b3JUcmFpdHMuaCcsCiAgICAgICAgICAgICAn
d3RmL1ZNVGFncy5oJywKKyAgICAgICAgICAgICd3dGYvV1RGQ29tcGlsZUFzc2VydHMuY3BwJywK
ICAgICAgICAgICAgICd3dGYvV1RGVGhyZWFkRGF0YS5jcHAnLAogICAgICAgICAgICAgJ3d0Zi9X
VEZUaHJlYWREYXRhLmgnLAogICAgICAgICAgICAgJ3d0Zi93aW4vTWFpblRocmVhZFdpbi5jcHAn
LApkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvaiBiL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKaW5kZXggMWVkYjBhZjEyYWFhYjVkZDBiZmZiYjIwOTMxOTIyNjRhMTcw
YWU4Ny4uNTBlNjYzOWVjMzIyMjExNDQwMDM5YjU0Mjc4ZDcyNDQwY2ZjMmZjNCAxMDA2NDQKLS0t
IGEvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agorKysgYi9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCkBAIC00Myw2ICs0Myw3IEBACiAJCTBCNEQ3RTYzMEYzMTlBQzgwMEFEN0U1OCAvKiBU
eXBlVHJhaXRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAwQjREN0U2MjBGMzE5QUM4MDBBRDdFNTggLyogVHlwZVRyYWl0cy5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTBCREZGQUUwMEZDNjE5MjkwMEQ2
OUVGNCAvKiBDcm9zc1RocmVhZFJlZkNvdW50ZWQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBCREZGQUQ0MEZDNjE3MTAwMEQ2OUVGNCAvKiBDcm9zc1Ro
cmVhZFJlZkNvdW50ZWQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQkwQkRGRkFFMTBGQzYxOTMxMDBENjlFRjQgLyogT3duRmFzdE1hbGxvY1B0ci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEJERkZBRDEw
RkM2MTZFQzAwRDY5RUY0IC8qIE93bkZhc3RNYWxsb2NQdHIuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkwQkYyOEEyOTExQTMzREMzMDA2MzhGODQg
LyogV1RGQ29tcGlsZUFzc2VydHMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMEJGMjhBMjgxMUEzM0RDMzAwNjM4Rjg0IC8qIFdURkNvbXBpbGVBc3Nl
cnRzLmNwcCAqLzsgfTsKIAkJMTQwMzVEQjExMERCRkIyQTAwRkZGRkU3IC8qIFdlYWtHQ1B0ci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMTQwMzVEQjAx
MERCRkIyQTAwRkZGRkU3IC8qIFdlYWtHQ1B0ci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTE0MDU2NkM0MTA3RUMyNTUwMDVEQkM4RCAvKiBKU0FQ
SVZhbHVlV3JhcHBlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBCQzA4OTRENTBGQUZCQTJEMDAwMDE4NjUgLyogSlNBUElWYWx1ZVdyYXBwZXIuY3Bw
ICovOyB9OwogCQkxNDA1NjZEMTEwN0VDMjY3MDA1REJDOEQgLyogSlNTdGF0aWNTY29wZU9iamVj
dC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBN0U0
MkMxOTBFMzkzODgzMDA2NUE1NDQgLyogSlNTdGF0aWNTY29wZU9iamVjdC5jcHAgKi87IH07CkBA
IC01ODksNiArNTkwLDcgQEAKIAkJMEI0RDdFNjIwRjMxOUFDODAwQUQ3RTU4IC8qIFR5cGVUcmFp
dHMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVHlwZVRyYWl0cy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkwQkRGRkFEMTBGQzYxNkVDMDBENjlFRjQgLyogT3du
RmFzdE1hbGxvY1B0ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBPd25GYXN0
TWFsbG9jUHRyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBCREZGQUQ0MEZDNjE3
MTAwMEQ2OUVGNCAvKiBDcm9zc1RocmVhZFJlZkNvdW50ZWQuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gQ3Jvc3NUaHJlYWRSZWZDb3VudGVkLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTBCRjI4QTI4MTFBMzNEQzMwMDYzOEY4NCAvKiBXVEZDb21waWxlQXNzZXJ0
cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXVEZDb21waWxlQXNz
ZXJ0cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTE0MDM1REIwMTBEQkZCMkEw
MEZGRkZFNyAvKiBXZWFrR0NQdHIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
V2Vha0dDUHRyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTE0MEQxN0Q2MEU4QUQ0
QTkwMDBDRDE3RCAvKiBKU0Jhc2VQcml2YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEpTQmFzZVByaXZhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMTQx
MjExMDIwQTQ4NzgwOTAwNDgwMjU1IC8qIG1pbmlkb20uYyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5jOyBuYW1lID0gbWluaWRvbS5jOyBwYXRoID0gdGVzdHMvbWluaWRvbS5jOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwpAQCAtMTQ1Myw2ICsxNDU1LDcgQEAKIAkJCQk2NTkyQzMxNzA5OEI3
REUxMDAwM0Q0RjYgLyogVmVjdG9yVHJhaXRzLmggKi8sCiAJCQkJOTZERDczNzgwRjlEQTMxMDAw
MjdGQkNDIC8qIFZNVGFncy5oICovLAogCQkJCTg2RDA4RDUxMTE3OTM2MTMwMDZFNUVEMCAvKiBX
VEZUaHJlYWREYXRhLmNwcCAqLywKKwkJCQkwQkYyOEEyODExQTMzREMzMDA2MzhGODQgLyogV1RG
Q29tcGlsZUFzc2VydHMuY3BwICovLAogCQkJCTg2RDA4RDUyMTE3OTM2MTMwMDZFNUVEMCAvKiBX
VEZUaHJlYWREYXRhLmggKi8sCiAJCQkpOwogCQkJcGF0aCA9IHd0ZjsKQEAgLTI1ODgsNiArMjU5
MSw3IEBACiAJCQkJQTc1NzA2REUxMThBMkJDRjAwNTdGODhGIC8qIEpJVEFyaXRobWV0aWMzMl82
NC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4NjI2QkVDRjExOTI4RTM5MDA3ODJGQUIgLyogU3Ry
aW5nU3RhdGljcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBNzEyMzZFNTExOTVGMzNDMDBCRDIx
NzQgLyogSklUT3Bjb2RlczMyXzY0LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTBCRjI4QTI5MTFB
MzNEQzMwMDYzOEY4NCAvKiBXVEZDb21waWxlQXNzZXJ0cy5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlm
ZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVVN0cmluZy5jcHAgYi9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1VTdHJpbmcuY3BwCmluZGV4IDZiMTYyNzQxOTY1NGQ2MTUxMTNiNjQ4MmE1
ZjljZDUzN2I0MmVhMmQuLmJkYzg5NmQzNjJmYzVjYmY3ZDVmZDVlOTNkZTE5OWYyZTU2YTQ2NmUg
MTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVVN0cmluZy5jcHAKKysrIGIvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9VU3RyaW5nLmNwcApAQCAtNjAsNiArNjAsOCBAQCBleHRlcm4g
Y29uc3QgZG91YmxlIEluZjsKIC8vIFRoZSBudWxsIHN0cmluZyBpcyBpbW11dGFibGUsIGV4Y2Vw
dCBmb3IgcmVmQ291bnQuCiBVU3RyaW5nKiBVU3RyaW5nOjpzX251bGxVU3RyaW5nOwogCitDT01Q
SUxFX0FTU0VSVChzaXplb2YoVVN0cmluZykgPT0gc2l6ZW9mKHZvaWQqKSwgVVN0cmluZ19zaG91
bGRfc3RheV9zbWFsbCk7CisKIHZvaWQgaW5pdGlhbGl6ZVVTdHJpbmcoKQogewogICAgIC8vIFVT
dHJpbmdJbXBsOjplbXB0eSgpIGRvZXMgbm90IGNvbnN0cnVjdCBpdHMgc3RhdGljIHN0cmluZyBp
biBhIHRocmVhZHNhZmUgZmFzaGlvbiwKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9X
VEZDb21waWxlQXNzZXJ0cy5jcHAgYi9KYXZhU2NyaXB0Q29yZS93dGYvV1RGQ29tcGlsZUFzc2Vy
dHMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjA1Y2NkNjY0NzkwZTI3ZTAwNTNhNjAwYTFjMmE2ZDQ2ZDg1MTYz
NjAKLS0tIC9kZXYvbnVsbAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvV1RGQ29tcGlsZUFzc2Vy
dHMuY3BwCkBAIC0wLDAgKzEsNTkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICog
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhl
ciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJp
YnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpbmNsdWRlIDx3
dGYvQXNzZXJ0aW9ucy5oPgorI2luY2x1ZGUgPHd0Zi9Dcm9zc1RocmVhZFJlZkNvdW50ZWQuaD4K
KyNpbmNsdWRlIDx3dGYvT3duUHRyLmg+CisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNp
bmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKyNpbmNs
dWRlIDx3dGYvVmVjdG9yLmg+CisKK25hbWVzcGFjZSBXVEYgeworCisjaWZuZGVmIE5ERUJVRwor
c3RhdGljIGNvbnN0IHNpemVfdCByZWZDb3VudGVkRXh0cmFEZWJ1Z1NpemUgPSBzaXplb2YoaW50
KTsKK3N0YXRpYyBjb25zdCBzaXplX3QgY3Jvc3NUaHJlYWRSZWZDb3VudGVkRXh0cmFEZWJ1Z1Np
emUgPSBzaXplb2YoVGhyZWFkSWRlbnRpZmllcik7CisjZWxzZQorc3RhdGljIGNvbnN0IHNpemVf
dCByZWZDb3VudGVkRXh0cmFEZWJ1Z1NpemUgPSAwOworc3RhdGljIGNvbnN0IHNpemVfdCBjcm9z
c1RocmVhZFJlZkNvdW50ZWRFeHRyYURlYnVnU2l6ZSA9IDA7CisjZW5kaWYKKworQ09NUElMRV9B
U1NFUlQoc2l6ZW9mKENyb3NzVGhyZWFkUmVmQ291bnRlZDxpbnQ+KSA9PSAyICogc2l6ZW9mKGlu
dCopICsgc2l6ZW9mKFJlZkNvdW50ZWRCYXNlKSArIGNyb3NzVGhyZWFkUmVmQ291bnRlZEV4dHJh
RGVidWdTaXplLCBDcm9zc1RocmVhZFJlZkNvdW50ZWRfc2hvdWxkX3N0YXlfc21hbGwpOworQ09N
UElMRV9BU1NFUlQoc2l6ZW9mKE93blB0cjxpbnQ+KSA9PSBzaXplb2YoaW50KiksIE93blB0cl9z
aG91bGRfc3RheV9zbWFsbCk7CitDT01QSUxFX0FTU0VSVChzaXplb2YoUGFzc1JlZlB0cjxSZWZD
b3VudGVkPGludD4gPikgPT0gc2l6ZW9mKGludCopLCBQYXNzUmVmUHRyX3Nob3VsZF9zdGF5X3Nt
YWxsKTsKK0NPTVBJTEVfQVNTRVJUKHNpemVvZihSZWZDb3VudGVkPGludD4pID09IHNpemVvZihp
bnQpICsgcmVmQ291bnRlZEV4dHJhRGVidWdTaXplLCBSZWZDb3VudGVkX3Nob3VsZF9zdGF5X3Nt
YWxsKTsKK0NPTVBJTEVfQVNTRVJUKHNpemVvZihSZWZDb3VudGVkQ3VzdG9tQWxsb2NhdGVkPGlu
dD4pID09IHNpemVvZihpbnQpICsgcmVmQ291bnRlZEV4dHJhRGVidWdTaXplLCBSZWZDb3VudGVk
Q3VzdG9tQWxsb2NhdGVkX3Nob3VsZF9zdGF5X3NtYWxsKTsKK0NPTVBJTEVfQVNTRVJUKHNpemVv
ZihSZWZQdHI8UmVmQ291bnRlZDxpbnQ+ID4pID09IHNpemVvZihpbnQqKSwgUmVmUHRyX3Nob3Vs
ZF9zdGF5X3NtYWxsKTsKK0NPTVBJTEVfQVNTRVJUKHNpemVvZihWZWN0b3I8aW50PikgPT0gMyAq
IHNpemVvZihpbnQqKSwgVmVjdG9yX3Nob3VsZF9zdGF5X3NtYWxsKTsKKworfQpkaWZmIC0tZ2l0
IGEvSmF2YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5nSW1wbC5jcHAgYi9KYXZhU2NyaXB0Q29y
ZS93dGYvdGV4dC9TdHJpbmdJbXBsLmNwcAppbmRleCA2OGZmNDU2YWViY2VjMDBkZmNhMDA3MjBm
YjQ1ZWRjOGE5ODRkYmE0Li4zNjA2NTk3YTRkYTA5N2MxZTkzN2JlOTVkMDMwZjZlNTMxZjA2MThl
IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9TdHJpbmdJbXBsLmNwcAorKysg
Yi9KYXZhU2NyaXB0Q29yZS93dGYvdGV4dC9TdHJpbmdJbXBsLmNwcApAQCAtMzgsNiArMzgsOCBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBtaW5MZW5ndGhU
b1NoYXJlID0gMjA7CiAKK0NPTVBJTEVfQVNTRVJUKHNpemVvZihTdHJpbmdJbXBsKSA9PSAyICog
c2l6ZW9mKGludCkgKyAzICogc2l6ZW9mKHZvaWQqKSwgU3RyaW5nSW1wbF9zaG91bGRfc3RheV9z
bWFsbCk7CisKIFN0cmluZ0ltcGw6On5TdHJpbmdJbXBsKCkKIHsKICAgICBBU1NFUlQoIWlzU3Rh
dGljKCkpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>56744</attachid>
            <date>2010-05-21 14:07:07 -0700</date>
            <delta_ts>2010-06-11 13:11:33 -0700</delta_ts>
            <desc>Proposed fix (same as last time, just updated to not have conflicts with things that have landed).</desc>
            <filename>bug39327.txt</filename>
            <type>text/plain</type>
            <size>9398</size>
            <attacher name="David Levin">levin</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCAzOGNhYzYzLi4wNmRkN2I4IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkg
QEAKKzIwMTAtMDUtMTggIERhdmlkIExldmluICA8bGV2aW5AY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEVuZm9yY2Ugc2l6ZSBj
b25zdHJhaW50cyBvbiB2YXJpb3VzIGRhdGEgc3RydWN0dXJlcyBpbiBKYXZhU2NyaXB0Q29yZS93
dGYuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zOTMy
NworCisgICAgICAgIEkgb25seSBtb2RpZmllZCB0aGUgZGVmYXVsdCBidWlsZCBmb3IgT1NYIGFu
ZCBDaHJvbWl1bSdzIGJ1aWxkIGZpbGUgdG8gaW5jbHVkZSBXVEZDb21waWxlQXNzZXJ0cy5jcHAK
KyAgICAgICAgYXMgdGhvc2Ugc2hvdWxkIGJlIHN1ZmZpY2llbnQgdG8gY2F0Y2ggcmVncmVzc2lv
bnMgb24gdGhlIHNpemUgb2YgdGhlIGRhdGEgc3RydWN0dXJlcy4KKworICAgICAgICAqIEphdmFT
Y3JpcHRDb3JlLmd5cGk6IEFkZGVkIHRoZSBXVEZDb21waWxlQXNzZXJ0cy5jcHAgZmlsZS4KKyAg
ICAgICAgKiBKYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOiBBZGRlZCB0
aGUgV1RGQ29tcGlsZUFzc2VydHMuY3BwIGZpbGUuCisgICAgICAgICogcnVudGltZS9VU3RyaW5n
LmNwcDogQWRkZWQgYSBjb21waWxlIGFzc2VydCBmb3IgVVN0cmluZyBzaXplLgorICAgICAgICAq
IHd0Zi9XVEZDb21waWxlQXNzZXJ0cy5jcHA6IEFkZGVkIGNvbXBpbGUgYXNzZXJ0cyBmb3IgZGF0
YSBzdHJ1Y3R1cmVzIHRoYXQgZGlkbid0IGhhdmUgY3BwIGZpbGVzLgorICAgICAgICAqIHd0Zi90
ZXh0L1N0cmluZ0ltcGwuY3BwOiBBZGRlZCBhIGNvbXBpbGUgYXNzZXJ0IGZvciBTdHJpbmdJbXBs
IHNpemUuCisKIDIwMTAtMDUtMjEgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9y
Zz4KIAogICAgICAgICBVbnJldmlld2VkIGJ1aWxkZml4IGZvciBRdCBhZnRlciByNTk5NDEuCmRp
ZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5neXBpIGIvSmF2YVNjcmlw
dENvcmUvSmF2YVNjcmlwdENvcmUuZ3lwaQppbmRleCAwMDZmYTlkLi40NzgxYjZlIDEwMDY0NAot
LS0gYS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS5neXBpCisrKyBiL0phdmFTY3JpcHRD
b3JlL0phdmFTY3JpcHRDb3JlLmd5cGkKQEAgLTQ1NCw2ICs0NTQsNyBAQAogICAgICAgICAgICAg
J3d0Zi9WZWN0b3IuaCcsCiAgICAgICAgICAgICAnd3RmL1ZlY3RvclRyYWl0cy5oJywKICAgICAg
ICAgICAgICd3dGYvVk1UYWdzLmgnLAorICAgICAgICAgICAgJ3d0Zi9XVEZDb21waWxlQXNzZXJ0
cy5jcHAnLAogICAgICAgICAgICAgJ3d0Zi9XVEZUaHJlYWREYXRhLmNwcCcsCiAgICAgICAgICAg
ICAnd3RmL1dURlRocmVhZERhdGEuaCcsCiAgICAgICAgICAgICAnd3RmL3dpbi9NYWluVGhyZWFk
V2luLmNwcCcsCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBiZTFiOGM3Li40MmM3ZjY3IDEwMDY0NAotLS0g
YS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CisrKyBiL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKQEAgLTQzLDYgKzQzLDcgQEAKIAkJMEI0RDdFNjMwRjMxOUFDODAwQUQ3RTU4IC8qIFR5
cGVUcmFpdHMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDBCNEQ3RTYyMEYzMTlBQzgwMEFEN0U1OCAvKiBUeXBlVHJhaXRzLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMEJERkZBRTAwRkM2MTkyOTAwRDY5
RUY0IC8qIENyb3NzVGhyZWFkUmVmQ291bnRlZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMEJERkZBRDQwRkM2MTcxMDAwRDY5RUY0IC8qIENyb3NzVGhy
ZWFkUmVmQ291bnRlZC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCTBCREZGQUUxMEZDNjE5MzEwMEQ2OUVGNCAvKiBPd25GYXN0TWFsbG9jUHRyLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwQkRGRkFEMTBG
QzYxNkVDMDBENjlFRjQgLyogT3duRmFzdE1hbGxvY1B0ci5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTBCRjI4QTI5MTFBMzNEQzMwMDYzOEY4NCAv
KiBXVEZDb21waWxlQXNzZXJ0cy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAwQkYyOEEyODExQTMzREMzMDA2MzhGODQgLyogV1RGQ29tcGlsZUFzc2Vy
dHMuY3BwICovOyB9OwogCQkxNDAzNURCMTEwREJGQjJBMDBGRkZGRTcgLyogV2Vha0dDUHRyLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxNDAzNURCMDEw
REJGQjJBMDBGRkZGRTcgLyogV2Vha0dDUHRyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMTQwNTY2QzQxMDdFQzI1NTAwNURCQzhEIC8qIEpTQVBJ
VmFsdWVXcmFwcGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEJDMDg5NEQ1MEZBRkJBMkQwMDAwMTg2NSAvKiBKU0FQSVZhbHVlV3JhcHBlci5jcHAg
Ki87IH07CiAJCTE0MDU2NkQxMTA3RUMyNjcwMDVEQkM4RCAvKiBKU1N0YXRpY1Njb3BlT2JqZWN0
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE3RTQy
QzE5MEUzOTM4ODMwMDY1QTU0NCAvKiBKU1N0YXRpY1Njb3BlT2JqZWN0LmNwcCAqLzsgfTsKQEAg
LTU5NCw2ICs1OTUsNyBAQAogCQkwQjREN0U2MjBGMzE5QUM4MDBBRDdFNTggLyogVHlwZVRyYWl0
cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUeXBlVHJhaXRzLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBCREZGQUQxMEZDNjE2RUMwMEQ2OUVGNCAvKiBPd25G
YXN0TWFsbG9jUHRyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE93bkZhc3RN
YWxsb2NQdHIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEJERkZBRDQwRkM2MTcx
MDAwRDY5RUY0IC8qIENyb3NzVGhyZWFkUmVmQ291bnRlZC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBDcm9zc1RocmVhZFJlZkNvdW50ZWQuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMEJGMjhBMjgxMUEzM0RDMzAwNjM4Rjg0IC8qIFdURkNvbXBpbGVBc3NlcnRz
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdURkNvbXBpbGVBc3Nl
cnRzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMTQwMzVEQjAxMERCRkIyQTAw
RkZGRkU3IC8qIFdlYWtHQ1B0ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBX
ZWFrR0NQdHIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMTQwRDE3RDYwRThBRDRB
OTAwMENEMTdEIC8qIEpTQmFzZVByaXZhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gSlNCYXNlUHJpdmF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxNDEy
MTEwMjBBNDg3ODA5MDA0ODAyNTUgLyogbWluaWRvbS5jICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
LmM7IG5hbWUgPSBtaW5pZG9tLmM7IHBhdGggPSB0ZXN0cy9taW5pZG9tLmM7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC0xNDYzLDYgKzE0NjUsNyBAQAogCQkJCTY1OTJDMzE3MDk4QjdE
RTEwMDAzRDRGNiAvKiBWZWN0b3JUcmFpdHMuaCAqLywKIAkJCQk5NkRENzM3ODBGOURBMzEwMDAy
N0ZCQ0MgLyogVk1UYWdzLmggKi8sCiAJCQkJODZEMDhENTExMTc5MzYxMzAwNkU1RUQwIC8qIFdU
RlRocmVhZERhdGEuY3BwICovLAorCQkJCTBCRjI4QTI4MTFBMzNEQzMwMDYzOEY4NCAvKiBXVEZD
b21waWxlQXNzZXJ0cy5jcHAgKi8sCiAJCQkJODZEMDhENTIxMTc5MzYxMzAwNkU1RUQwIC8qIFdU
RlRocmVhZERhdGEuaCAqLywKIAkJCSk7CiAJCQlwYXRoID0gd3RmOwpAQCAtMjU5Niw2ICsyNTk5
LDcgQEAKIAkJCQlFMUVGNzlBQTBDRTk3QkE2MDA4OEQ1MDAgLyogVVRGOC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk4NjU2NTc0MjExNUJFM0RBMDAyOTFGNDAgLyogQ1N0cmluZy5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlBNzQ4MkI5NDExNjcxMTQ3MDAzQjA3MTIgLyogSlNXZWFrT2JqZWN0TWFw
UmVmUHJpdmF0ZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkwQkYyOEEyOTExQTMzREMzMDA2MzhG
ODQgLyogV1RGQ29tcGlsZUFzc2VydHMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJODZEMDhENTMx
MTc5MzYxMzAwNkU1RUQwIC8qIFdURlRocmVhZERhdGEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
ODY4QkZBMDgxMTdDRUZEMTAwQjkwOEIxIC8qIEF0b21pY1N0cmluZy5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk4NjhCRkEwRTExN0NFRkQxMDBCOTA4QjEgLyogU3RyaW5nSW1wbC5jcHAgaW4gU291
cmNlcyAqLywKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVVN0cmluZy5jcHAg
Yi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1VTdHJpbmcuY3BwCmluZGV4IDZiMTYyNzQuLmJkYzg5
NmQgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVVN0cmluZy5jcHAKKysrIGIv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9VU3RyaW5nLmNwcApAQCAtNjAsNiArNjAsOCBAQCBleHRl
cm4gY29uc3QgZG91YmxlIEluZjsKIC8vIFRoZSBudWxsIHN0cmluZyBpcyBpbW11dGFibGUsIGV4
Y2VwdCBmb3IgcmVmQ291bnQuCiBVU3RyaW5nKiBVU3RyaW5nOjpzX251bGxVU3RyaW5nOwogCitD
T01QSUxFX0FTU0VSVChzaXplb2YoVVN0cmluZykgPT0gc2l6ZW9mKHZvaWQqKSwgVVN0cmluZ19z
aG91bGRfc3RheV9zbWFsbCk7CisKIHZvaWQgaW5pdGlhbGl6ZVVTdHJpbmcoKQogewogICAgIC8v
IFVTdHJpbmdJbXBsOjplbXB0eSgpIGRvZXMgbm90IGNvbnN0cnVjdCBpdHMgc3RhdGljIHN0cmlu
ZyBpbiBhIHRocmVhZHNhZmUgZmFzaGlvbiwKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0
Zi9XVEZDb21waWxlQXNzZXJ0cy5jcHAgYi9KYXZhU2NyaXB0Q29yZS93dGYvV1RGQ29tcGlsZUFz
c2VydHMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA1Y2NkNjYKLS0t
IC9kZXYvbnVsbAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvV1RGQ29tcGlsZUFzc2VydHMuY3Bw
CkBAIC0wLDAgKzEsNTkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUK
KyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUg
bmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3Jz
IG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20K
KyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Np
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICog
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
CisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpbmNsdWRlIDx3dGYvQXNz
ZXJ0aW9ucy5oPgorI2luY2x1ZGUgPHd0Zi9Dcm9zc1RocmVhZFJlZkNvdW50ZWQuaD4KKyNpbmNs
dWRlIDx3dGYvT3duUHRyLmg+CisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRl
IDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKyNpbmNsdWRlIDx3
dGYvVmVjdG9yLmg+CisKK25hbWVzcGFjZSBXVEYgeworCisjaWZuZGVmIE5ERUJVRworc3RhdGlj
IGNvbnN0IHNpemVfdCByZWZDb3VudGVkRXh0cmFEZWJ1Z1NpemUgPSBzaXplb2YoaW50KTsKK3N0
YXRpYyBjb25zdCBzaXplX3QgY3Jvc3NUaHJlYWRSZWZDb3VudGVkRXh0cmFEZWJ1Z1NpemUgPSBz
aXplb2YoVGhyZWFkSWRlbnRpZmllcik7CisjZWxzZQorc3RhdGljIGNvbnN0IHNpemVfdCByZWZD
b3VudGVkRXh0cmFEZWJ1Z1NpemUgPSAwOworc3RhdGljIGNvbnN0IHNpemVfdCBjcm9zc1RocmVh
ZFJlZkNvdW50ZWRFeHRyYURlYnVnU2l6ZSA9IDA7CisjZW5kaWYKKworQ09NUElMRV9BU1NFUlQo
c2l6ZW9mKENyb3NzVGhyZWFkUmVmQ291bnRlZDxpbnQ+KSA9PSAyICogc2l6ZW9mKGludCopICsg
c2l6ZW9mKFJlZkNvdW50ZWRCYXNlKSArIGNyb3NzVGhyZWFkUmVmQ291bnRlZEV4dHJhRGVidWdT
aXplLCBDcm9zc1RocmVhZFJlZkNvdW50ZWRfc2hvdWxkX3N0YXlfc21hbGwpOworQ09NUElMRV9B
U1NFUlQoc2l6ZW9mKE93blB0cjxpbnQ+KSA9PSBzaXplb2YoaW50KiksIE93blB0cl9zaG91bGRf
c3RheV9zbWFsbCk7CitDT01QSUxFX0FTU0VSVChzaXplb2YoUGFzc1JlZlB0cjxSZWZDb3VudGVk
PGludD4gPikgPT0gc2l6ZW9mKGludCopLCBQYXNzUmVmUHRyX3Nob3VsZF9zdGF5X3NtYWxsKTsK
K0NPTVBJTEVfQVNTRVJUKHNpemVvZihSZWZDb3VudGVkPGludD4pID09IHNpemVvZihpbnQpICsg
cmVmQ291bnRlZEV4dHJhRGVidWdTaXplLCBSZWZDb3VudGVkX3Nob3VsZF9zdGF5X3NtYWxsKTsK
K0NPTVBJTEVfQVNTRVJUKHNpemVvZihSZWZDb3VudGVkQ3VzdG9tQWxsb2NhdGVkPGludD4pID09
IHNpemVvZihpbnQpICsgcmVmQ291bnRlZEV4dHJhRGVidWdTaXplLCBSZWZDb3VudGVkQ3VzdG9t
QWxsb2NhdGVkX3Nob3VsZF9zdGF5X3NtYWxsKTsKK0NPTVBJTEVfQVNTRVJUKHNpemVvZihSZWZQ
dHI8UmVmQ291bnRlZDxpbnQ+ID4pID09IHNpemVvZihpbnQqKSwgUmVmUHRyX3Nob3VsZF9zdGF5
X3NtYWxsKTsKK0NPTVBJTEVfQVNTRVJUKHNpemVvZihWZWN0b3I8aW50PikgPT0gMyAqIHNpemVv
ZihpbnQqKSwgVmVjdG9yX3Nob3VsZF9zdGF5X3NtYWxsKTsKKworfQpkaWZmIC0tZ2l0IGEvSmF2
YVNjcmlwdENvcmUvd3RmL3RleHQvU3RyaW5nSW1wbC5jcHAgYi9KYXZhU2NyaXB0Q29yZS93dGYv
dGV4dC9TdHJpbmdJbXBsLmNwcAppbmRleCA2OGZmNDU2Li4zNjA2NTk3IDEwMDY0NAotLS0gYS9K
YXZhU2NyaXB0Q29yZS93dGYvdGV4dC9TdHJpbmdJbXBsLmNwcAorKysgYi9KYXZhU2NyaXB0Q29y
ZS93dGYvdGV4dC9TdHJpbmdJbXBsLmNwcApAQCAtMzgsNiArMzgsOCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBtaW5MZW5ndGhUb1NoYXJlID0gMjA7CiAK
K0NPTVBJTEVfQVNTRVJUKHNpemVvZihTdHJpbmdJbXBsKSA9PSAyICogc2l6ZW9mKGludCkgKyAz
ICogc2l6ZW9mKHZvaWQqKSwgU3RyaW5nSW1wbF9zaG91bGRfc3RheV9zbWFsbCk7CisKIFN0cmlu
Z0ltcGw6On5TdHJpbmdJbXBsKCkKIHsKICAgICBBU1NFUlQoIWlzU3RhdGljKCkpOwo=
</data>
<flag name="review"
          id="41222"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>