<?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>68364</bug_id>
          
          <creation_ts>2011-09-19 08:29:07 -0700</creation_ts>
          <short_desc>Protect against misuse of EventListenerIterator.</short_desc>
          <delta_ts>2011-09-21 06:07:29 -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>UI Events</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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="Andreas Kling">kling</reporter>
          <assigned_to name="Andreas Kling">kling</assigned_to>
          <cc>darin</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>469406</commentid>
    <comment_count>0</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2011-09-19 08:29:07 -0700</bug_when>
    <thetext>Spin-off from bug 68105, let&apos;s catch people modifying EventListenerMap while an EventListenerIterator is active (in debug mode.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469412</commentid>
    <comment_count>1</comment_count>
      <attachid>107861</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2011-09-19 08:35:15 -0700</bug_when>
    <thetext>Created attachment 107861
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469414</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-19 08:37:24 -0700</bug_when>
    <thetext>Attachment 107861 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCor...&quot; exit_code: 1

Source/WebCore/dom/EventListenerMap.h:98:  More than one command on the same line in if  [whitespace/parens] [4]
Total errors found: 1 in 3 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>469416</commentid>
    <comment_count>3</comment_count>
      <attachid>107861</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2011-09-19 08:39:47 -0700</bug_when>
    <thetext>Comment on attachment 107861
Proposed patch

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

&gt; Source/WebCore/dom/EventListenerMap.h:85
&gt; +    HashSet&lt;EventListenerIterator*&gt; m_iterators;

I suppose this could simply be an int tracking the number of iterators, actually.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469426</commentid>
    <comment_count>4</comment_count>
      <attachid>107864</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2011-09-19 08:56:07 -0700</bug_when>
    <thetext>Created attachment 107864
Proposed patch v2

Same patch, but simply counting the number of active iterators. Sorry about the noise.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>469793</commentid>
    <comment_count>5</comment_count>
      <attachid>107864</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-09-19 16:32:50 -0700</bug_when>
    <thetext>Comment on attachment 107864
Proposed patch v2

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

This approach will possibly assert too often. For hash tables we found that we needed to invalidate the *iterators* when the hash map changed and complain if they were used later when invalid. Disallowing modification of the map is a stricter policy. For hash tables it was common to to have an outstanding iterator that later falls out of scope and we didn’t want to have to re-code to avoid that. But if we can live with this greater strictness here, that’s fine.

&gt; Source/WebCore/dom/EventListenerMap.cpp:48
&gt; +    : m_activeIterators(0)

Something that’s a count should not be named “iterators” it should be named “count” or “number”.

&gt; Source/WebCore/dom/EventListenerMap.h:98
&gt; +#ifndef NDEBUG
&gt; +    ~EventListenerIterator()
&gt; +    {
&gt; +        if (m_map)
&gt; +            m_map-&gt;m_activeIterators--;
&gt; +    }
&gt; +#endif

It would be better to not have this function body be in the header.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>470715</commentid>
    <comment_count>6</comment_count>
      <attachid>108134</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2011-09-21 04:51:07 -0700</bug_when>
    <thetext>Created attachment 108134
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>470734</commentid>
    <comment_count>7</comment_count>
      <attachid>108134</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-21 06:07:25 -0700</bug_when>
    <thetext>Comment on attachment 108134
Patch for landing

Clearing flags on attachment: 108134

Committed r95619: &lt;http://trac.webkit.org/changeset/95619&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>470735</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-21 06:07:29 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>107861</attachid>
            <date>2011-09-19 08:35:15 -0700</date>
            <delta_ts>2011-09-19 08:56:07 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>bug-68364.diff</filename>
            <type>text/plain</type>
            <size>5254</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA2MDkwNzVlLi4zYmFjZTNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUg
QEAKKzIwMTEtMDktMTkgIEFuZHJlYXMgS2xpbmcgIDxrbGluZ0B3ZWJraXQub3JnPgorCisgICAg
ICAgIFByb3RlY3QgYWdhaW5zdCBtaXN1c2Ugb2YgRXZlbnRMaXN0ZW5lckl0ZXJhdG9yLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzNjQKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBkZWJ1ZyBtb2Rl
LCBrZWVwIHRyYWNrIG9mIHRoZSBhY3RpdmUgRXZlbnRMaXN0ZW5lckl0ZXJhdG9ycyBvbiBhbgor
ICAgICAgICBFdmVudExpc3RlbmVyTWFwLCBhbmQgYXNzZXJ0IHRoYXQgdGhlcmUgYXJlIG5vIGl0
ZXJhdG9ycyB3aGVuIHRoZSBtYXAKKyAgICAgICAgaXMgYmVpbmcgbW9kaWZpZWQuCisKKyAgICAg
ICAgKiBkb20vRXZlbnRMaXN0ZW5lck1hcC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudExp
c3RlbmVyTWFwOjpjbGVhcik6CisgICAgICAgIChXZWJDb3JlOjpFdmVudExpc3RlbmVyTWFwOjph
ZGQpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRMaXN0ZW5lck1hcDo6cmVtb3ZlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkV2ZW50TGlzdGVuZXJNYXA6OmZpbmQpOgorICAgICAgICAoV2ViQ29yZTo6
RXZlbnRMaXN0ZW5lck1hcDo6cmVtb3ZlRmlyc3RFdmVudExpc3RlbmVyQ3JlYXRlZEZyb21NYXJr
dXApOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRMaXN0ZW5lck1hcDo6Y29weUV2ZW50TGlzdGVu
ZXJzTm90Q3JlYXRlZEZyb21NYXJrdXBUb1RhcmdldCk6CisgICAgICAgIChXZWJDb3JlOjpFdmVu
dExpc3RlbmVySXRlcmF0b3I6OkV2ZW50TGlzdGVuZXJJdGVyYXRvcik6CisgICAgICAgICogZG9t
L0V2ZW50TGlzdGVuZXJNYXAuaDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50TGlzdGVuZXJJdGVy
YXRvcjo6fkV2ZW50TGlzdGVuZXJJdGVyYXRvcik6CisKIDIwMTEtMDktMTkgIFNoYXduIFNpbmdo
ICA8c2hhd25zaW5naEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmUtbmFtZSBMYXllckNocm9t
aXVtIGJvcmRlciBmdW5jdGlvbnMgdG8gcmVmbGVjdCB0aGF0CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRXZlbnRMaXN0ZW5lck1hcC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZl
bnRMaXN0ZW5lck1hcC5jcHAKaW5kZXggOGZlYjJlOC4uNjYxNDBjOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL0V2ZW50TGlzdGVuZXJNYXAuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FdmVudExpc3RlbmVyTWFwLmNwcApAQCAtNjgsNiArNjgsOCBAQCBib29sIEV2ZW50TGlz
dGVuZXJNYXA6OmNvbnRhaW5zKGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlKSBjb25zdAog
CiB2b2lkIEV2ZW50TGlzdGVuZXJNYXA6OmNsZWFyKCkKIHsKKyAgICBBU1NFUlQobV9pdGVyYXRv
cnMuaXNFbXB0eSgpKTsKKwogICAgIGlmIChtX2hhc2hNYXApIHsKICAgICAgICAgZGVsZXRlQWxs
VmFsdWVzKCptX2hhc2hNYXApOwogICAgICAgICBtX2hhc2hNYXAuY2xlYXIoKTsKQEAgLTEwNSw2
ICsxMDcsOCBAQCBzdGF0aWMgYm9vbCBhZGRMaXN0ZW5lclRvVmVjdG9yKEV2ZW50TGlzdGVuZXJW
ZWN0b3IqIHZlY3RvciwgUGFzc1JlZlB0cjxFdmVudExpcwogCiBib29sIEV2ZW50TGlzdGVuZXJN
YXA6OmFkZChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgUGFzc1JlZlB0cjxFdmVudExp
c3RlbmVyPiBsaXN0ZW5lciwgYm9vbCB1c2VDYXB0dXJlKQogeworICAgIEFTU0VSVChtX2l0ZXJh
dG9ycy5pc0VtcHR5KCkpOworCiAgICAgaWYgKG1fc2luZ2xlRXZlbnRMaXN0ZW5lclZlY3RvciAm
JiBtX3NpbmdsZUV2ZW50TGlzdGVuZXJUeXBlICE9IGV2ZW50VHlwZSkgewogICAgICAgICAvLyBX
ZSBhbHJlYWR5IGhhdmUgYSBzaW5nbGUgKGZpcnN0KSBsaXN0ZW5lciB2ZWN0b3IsIGFuZCB0aGlz
IGV2ZW50IGlzIG5vdAogICAgICAgICAvLyBvZiB0aGF0IHR5cGUsIHNvIGNyZWF0ZSB0aGUgaGFz
aCBtYXAgYW5kIG1vdmUgdGhlIGZpcnN0IGxpc3RlbmVyIHZlY3RvciB0aGVyZS4KQEAgLTE0Myw2
ICsxNDcsOCBAQCBzdGF0aWMgYm9vbCByZW1vdmVMaXN0ZW5lckZyb21WZWN0b3IoRXZlbnRMaXN0
ZW5lclZlY3RvciogbGlzdGVuZXJWZWN0b3IsIEV2ZW50TAogCiBib29sIEV2ZW50TGlzdGVuZXJN
YXA6OnJlbW92ZShjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgRXZlbnRMaXN0ZW5lciog
bGlzdGVuZXIsIGJvb2wgdXNlQ2FwdHVyZSwgc2l6ZV90JiBpbmRleE9mUmVtb3ZlZExpc3RlbmVy
KQogeworICAgIEFTU0VSVChtX2l0ZXJhdG9ycy5pc0VtcHR5KCkpOworCiAgICAgaWYgKCFtX2hh
c2hNYXApIHsKICAgICAgICAgaWYgKG1fc2luZ2xlRXZlbnRMaXN0ZW5lclR5cGUgIT0gZXZlbnRU
eXBlKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMTY4LDYgKzE3NCw4IEBAIGJvb2wg
RXZlbnRMaXN0ZW5lck1hcDo6cmVtb3ZlKGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBF
dmVudExpc3RlbmVyKiBsaXN0CiAKIEV2ZW50TGlzdGVuZXJWZWN0b3IqIEV2ZW50TGlzdGVuZXJN
YXA6OmZpbmQoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUpCiB7CisgICAgQVNTRVJUKG1f
aXRlcmF0b3JzLmlzRW1wdHkoKSk7CisKICAgICBpZiAobV9oYXNoTWFwKSB7CiAgICAgICAgIEV2
ZW50TGlzdGVuZXJIYXNoTWFwOjppdGVyYXRvciBpdCA9IG1faGFzaE1hcC0+ZmluZChldmVudFR5
cGUpOwogICAgICAgICBpZiAoaXQgPT0gbV9oYXNoTWFwLT5lbmQoKSkKQEAgLTIwMCw2ICsyMDgs
OCBAQCBzdGF0aWMgdm9pZCByZW1vdmVGaXJzdExpc3RlbmVyQ3JlYXRlZEZyb21NYXJrdXAoRXZl
bnRMaXN0ZW5lclZlY3RvciogbGlzdGVuZXJWZQogCiB2b2lkIEV2ZW50TGlzdGVuZXJNYXA6OnJl
bW92ZUZpcnN0RXZlbnRMaXN0ZW5lckNyZWF0ZWRGcm9tTWFya3VwKGNvbnN0IEF0b21pY1N0cmlu
ZyYgZXZlbnRUeXBlKQogeworICAgIEFTU0VSVChtX2l0ZXJhdG9ycy5pc0VtcHR5KCkpOworCiAg
ICAgaWYgKG1faGFzaE1hcCkgewogICAgICAgICBFdmVudExpc3RlbmVySGFzaE1hcDo6aXRlcmF0
b3IgcmVzdWx0ID0gbV9oYXNoTWFwLT5maW5kKGV2ZW50VHlwZSk7CiAgICAgICAgIEFTU0VSVChy
ZXN1bHQgIT0gbV9oYXNoTWFwLT5lbmQoKSk7CkBAIC0yMzksNiArMjQ5LDggQEAgc3RhdGljIHZv
aWQgY29weUxpc3RlbmVyc05vdENyZWF0ZWRGcm9tTWFya3VwVG9UYXJnZXQoY29uc3QgQXRvbWlj
U3RyaW5nJiBldmVudFQKIAogdm9pZCBFdmVudExpc3RlbmVyTWFwOjpjb3B5RXZlbnRMaXN0ZW5l
cnNOb3RDcmVhdGVkRnJvbU1hcmt1cFRvVGFyZ2V0KEV2ZW50VGFyZ2V0KiB0YXJnZXQpCiB7Cisg
ICAgQVNTRVJUKG1faXRlcmF0b3JzLmlzRW1wdHkoKSk7CisKICAgICBpZiAobV9oYXNoTWFwKSB7
CiAgICAgICAgIEV2ZW50TGlzdGVuZXJIYXNoTWFwOjppdGVyYXRvciBlbmQgPSBtX2hhc2hNYXAt
PmVuZCgpOwogICAgICAgICBmb3IgKEV2ZW50TGlzdGVuZXJIYXNoTWFwOjppdGVyYXRvciBpdCA9
IG1faGFzaE1hcC0+YmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KQpAQCAtMjcyLDYgKzI4NCwxMCBA
QCBFdmVudExpc3RlbmVySXRlcmF0b3I6OkV2ZW50TGlzdGVuZXJJdGVyYXRvcihFdmVudFRhcmdl
dCogdGFyZ2V0KQogCiAgICAgbV9tYXAgPSAmZGF0YS0+ZXZlbnRMaXN0ZW5lck1hcDsKIAorI2lm
bmRlZiBOREVCVUcKKyAgICBtX21hcC0+bV9pdGVyYXRvcnMuYWRkKHRoaXMpOworI2VuZGlmCisK
ICAgICBpZiAobV9tYXAtPm1faGFzaE1hcCkgewogICAgICAgICBtX21hcEl0ZXJhdG9yID0gbV9t
YXAtPm1faGFzaE1hcC0+YmVnaW4oKTsKICAgICAgICAgbV9tYXBFbmQgPSBtX21hcC0+bV9oYXNo
TWFwLT5lbmQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudExpc3RlbmVy
TWFwLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRMaXN0ZW5lck1hcC5oCmluZGV4IDViOGMx
YWUuLmNjYWQ4ODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudExpc3RlbmVy
TWFwLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TGlzdGVuZXJNYXAuaApAQCAtMzgs
OCArMzgsMTMgQEAKICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0
L0F0b21pY1N0cmluZ0hhc2guaD4KIAorI2lmbmRlZiBOREVCVUcKKyNpbmNsdWRlIDx3dGYvSGFz
aFNldC5oPgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgRXZlbnRMaXN0
ZW5lckl0ZXJhdG9yOwogY2xhc3MgRXZlbnRUYXJnZXQ7CiAKIHR5cGVkZWYgVmVjdG9yPFJlZ2lz
dGVyZWRFdmVudExpc3RlbmVyLCAxPiBFdmVudExpc3RlbmVyVmVjdG9yOwpAQCAtNzUsMTggKzgw
LDI0IEBAIHByaXZhdGU6CiAKICAgICBBdG9taWNTdHJpbmcgbV9zaW5nbGVFdmVudExpc3RlbmVy
VHlwZTsKICAgICBPd25QdHI8RXZlbnRMaXN0ZW5lclZlY3Rvcj4gbV9zaW5nbGVFdmVudExpc3Rl
bmVyVmVjdG9yOworCisjaWZuZGVmIE5ERUJVRworICAgIEhhc2hTZXQ8RXZlbnRMaXN0ZW5lckl0
ZXJhdG9yKj4gbV9pdGVyYXRvcnM7CisjZW5kaWYKIH07CiAKIGNsYXNzIEV2ZW50TGlzdGVuZXJJ
dGVyYXRvciB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoRXZlbnRMaXN0ZW5lckl0ZXJhdG9y
KTsKIHB1YmxpYzoKICAgICBFdmVudExpc3RlbmVySXRlcmF0b3IoKTsKLQotICAgIC8vIEV2ZW50
VGFyZ2V0IG11c3Qgbm90IGJlIG1vZGlmaWVkIHdoaWxlIGFuIGl0ZXJhdG9yIGlzIGFjdGl2ZS4K
ICAgICBFdmVudExpc3RlbmVySXRlcmF0b3IoRXZlbnRUYXJnZXQqKTsKIAogICAgIEV2ZW50TGlz
dGVuZXIqIG5leHRMaXN0ZW5lcigpOwogCisjaWZuZGVmIE5ERUJVRworICAgIH5FdmVudExpc3Rl
bmVySXRlcmF0b3IoKSB7IGlmIChtX21hcCkgbV9tYXAtPm1faXRlcmF0b3JzLnJlbW92ZSh0aGlz
KTsgfQorI2VuZGlmCisKIHByaXZhdGU6CiAgICAgRXZlbnRMaXN0ZW5lck1hcCogbV9tYXA7CiAg
ICAgRXZlbnRMaXN0ZW5lck1hcDo6RXZlbnRMaXN0ZW5lckhhc2hNYXA6Oml0ZXJhdG9yIG1fbWFw
SXRlcmF0b3I7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>107864</attachid>
            <date>2011-09-19 08:56:07 -0700</date>
            <delta_ts>2011-09-21 04:51:00 -0700</delta_ts>
            <desc>Proposed patch v2</desc>
            <filename>bug-68364-v2.diff</filename>
            <type>text/plain</type>
            <size>5130</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA2MDkwNzVlLi4yM2YyYzQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUg
QEAKKzIwMTEtMDktMTkgIEFuZHJlYXMgS2xpbmcgIDxrbGluZ0B3ZWJraXQub3JnPgorCisgICAg
ICAgIFByb3RlY3QgYWdhaW5zdCBtaXN1c2Ugb2YgRXZlbnRMaXN0ZW5lckl0ZXJhdG9yLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzNjQKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbiBkZWJ1ZyBtb2Rl
LCBrZWVwIHRyYWNrIG9mIHRoZSBudW1iZXIgb2YgYWN0aXZlIEV2ZW50TGlzdGVuZXJJdGVyYXRv
cnMKKyAgICAgICAgb24gYW4gRXZlbnRMaXN0ZW5lck1hcCwgYW5kIGFzc2VydCB0aGF0IHRoZXJl
IGFyZSBubyBpdGVyYXRvcnMgd2hlbiB0aGUKKyAgICAgICAgbWFwIGlzIGJlaW5nIG1vZGlmaWVk
LgorCisgICAgICAgICogZG9tL0V2ZW50TGlzdGVuZXJNYXAuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RXZlbnRMaXN0ZW5lck1hcDo6Y2xlYXIpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRMaXN0
ZW5lck1hcDo6YWRkKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50TGlzdGVuZXJNYXA6OnJlbW92
ZSk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudExpc3RlbmVyTWFwOjpmaW5kKToKKyAgICAgICAg
KFdlYkNvcmU6OkV2ZW50TGlzdGVuZXJNYXA6OnJlbW92ZUZpcnN0RXZlbnRMaXN0ZW5lckNyZWF0
ZWRGcm9tTWFya3VwKToKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50TGlzdGVuZXJNYXA6OmNvcHlF
dmVudExpc3RlbmVyc05vdENyZWF0ZWRGcm9tTWFya3VwVG9UYXJnZXQpOgorICAgICAgICAoV2Vi
Q29yZTo6RXZlbnRMaXN0ZW5lckl0ZXJhdG9yOjpFdmVudExpc3RlbmVySXRlcmF0b3IpOgorICAg
ICAgICAqIGRvbS9FdmVudExpc3RlbmVyTWFwLmg6CisgICAgICAgIChXZWJDb3JlOjpFdmVudExp
c3RlbmVySXRlcmF0b3I6On5FdmVudExpc3RlbmVySXRlcmF0b3IpOgorCiAyMDExLTA5LTE5ICBT
aGF3biBTaW5naCAgPHNoYXduc2luZ2hAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJlLW5hbWUg
TGF5ZXJDaHJvbWl1bSBib3JkZXIgZnVuY3Rpb25zIHRvIHJlZmxlY3QgdGhhdApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TGlzdGVuZXJNYXAuY3BwIGIvU291cmNlL1dlYkNv
cmUvZG9tL0V2ZW50TGlzdGVuZXJNYXAuY3BwCmluZGV4IDhmZWIyZTguLmI5NzlhYjkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudExpc3RlbmVyTWFwLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRXZlbnRMaXN0ZW5lck1hcC5jcHAKQEAgLTQ0LDYgKzQ0LDkgQEAgdXNp
bmcgbmFtZXNwYWNlIFdURjsKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogRXZlbnRMaXN0ZW5lck1h
cDo6RXZlbnRMaXN0ZW5lck1hcCgpCisjaWZuZGVmIE5ERUJVRworICAgIDogbV9hY3RpdmVJdGVy
YXRvcnMoMCkKKyNlbmRpZgogewogfQogCkBAIC02OCw2ICs3MSw4IEBAIGJvb2wgRXZlbnRMaXN0
ZW5lck1hcDo6Y29udGFpbnMoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUpIGNvbnN0CiAK
IHZvaWQgRXZlbnRMaXN0ZW5lck1hcDo6Y2xlYXIoKQogeworICAgIEFTU0VSVCghbV9hY3RpdmVJ
dGVyYXRvcnMpOworCiAgICAgaWYgKG1faGFzaE1hcCkgewogICAgICAgICBkZWxldGVBbGxWYWx1
ZXMoKm1faGFzaE1hcCk7CiAgICAgICAgIG1faGFzaE1hcC5jbGVhcigpOwpAQCAtMTA1LDYgKzEx
MCw4IEBAIHN0YXRpYyBib29sIGFkZExpc3RlbmVyVG9WZWN0b3IoRXZlbnRMaXN0ZW5lclZlY3Rv
ciogdmVjdG9yLCBQYXNzUmVmUHRyPEV2ZW50TGlzCiAKIGJvb2wgRXZlbnRMaXN0ZW5lck1hcDo6
YWRkKGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBQYXNzUmVmUHRyPEV2ZW50TGlzdGVu
ZXI+IGxpc3RlbmVyLCBib29sIHVzZUNhcHR1cmUpCiB7CisgICAgQVNTRVJUKCFtX2FjdGl2ZUl0
ZXJhdG9ycyk7CisKICAgICBpZiAobV9zaW5nbGVFdmVudExpc3RlbmVyVmVjdG9yICYmIG1fc2lu
Z2xlRXZlbnRMaXN0ZW5lclR5cGUgIT0gZXZlbnRUeXBlKSB7CiAgICAgICAgIC8vIFdlIGFscmVh
ZHkgaGF2ZSBhIHNpbmdsZSAoZmlyc3QpIGxpc3RlbmVyIHZlY3RvciwgYW5kIHRoaXMgZXZlbnQg
aXMgbm90CiAgICAgICAgIC8vIG9mIHRoYXQgdHlwZSwgc28gY3JlYXRlIHRoZSBoYXNoIG1hcCBh
bmQgbW92ZSB0aGUgZmlyc3QgbGlzdGVuZXIgdmVjdG9yIHRoZXJlLgpAQCAtMTQzLDYgKzE1MCw4
IEBAIHN0YXRpYyBib29sIHJlbW92ZUxpc3RlbmVyRnJvbVZlY3RvcihFdmVudExpc3RlbmVyVmVj
dG9yKiBsaXN0ZW5lclZlY3RvciwgRXZlbnRMCiAKIGJvb2wgRXZlbnRMaXN0ZW5lck1hcDo6cmVt
b3ZlKGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBFdmVudExpc3RlbmVyKiBsaXN0ZW5l
ciwgYm9vbCB1c2VDYXB0dXJlLCBzaXplX3QmIGluZGV4T2ZSZW1vdmVkTGlzdGVuZXIpCiB7Cisg
ICAgQVNTRVJUKCFtX2FjdGl2ZUl0ZXJhdG9ycyk7CisKICAgICBpZiAoIW1faGFzaE1hcCkgewog
ICAgICAgICBpZiAobV9zaW5nbGVFdmVudExpc3RlbmVyVHlwZSAhPSBldmVudFR5cGUpCiAgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC0xNjgsNiArMTc3LDggQEAgYm9vbCBFdmVudExpc3Rl
bmVyTWFwOjpyZW1vdmUoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIEV2ZW50TGlzdGVu
ZXIqIGxpc3QKIAogRXZlbnRMaXN0ZW5lclZlY3RvciogRXZlbnRMaXN0ZW5lck1hcDo6ZmluZChj
b25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSkKIHsKKyAgICBBU1NFUlQoIW1fYWN0aXZlSXRl
cmF0b3JzKTsKKwogICAgIGlmIChtX2hhc2hNYXApIHsKICAgICAgICAgRXZlbnRMaXN0ZW5lckhh
c2hNYXA6Oml0ZXJhdG9yIGl0ID0gbV9oYXNoTWFwLT5maW5kKGV2ZW50VHlwZSk7CiAgICAgICAg
IGlmIChpdCA9PSBtX2hhc2hNYXAtPmVuZCgpKQpAQCAtMjAwLDYgKzIxMSw4IEBAIHN0YXRpYyB2
b2lkIHJlbW92ZUZpcnN0TGlzdGVuZXJDcmVhdGVkRnJvbU1hcmt1cChFdmVudExpc3RlbmVyVmVj
dG9yKiBsaXN0ZW5lclZlCiAKIHZvaWQgRXZlbnRMaXN0ZW5lck1hcDo6cmVtb3ZlRmlyc3RFdmVu
dExpc3RlbmVyQ3JlYXRlZEZyb21NYXJrdXAoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUp
CiB7CisgICAgQVNTRVJUKCFtX2FjdGl2ZUl0ZXJhdG9ycyk7CisKICAgICBpZiAobV9oYXNoTWFw
KSB7CiAgICAgICAgIEV2ZW50TGlzdGVuZXJIYXNoTWFwOjppdGVyYXRvciByZXN1bHQgPSBtX2hh
c2hNYXAtPmZpbmQoZXZlbnRUeXBlKTsKICAgICAgICAgQVNTRVJUKHJlc3VsdCAhPSBtX2hhc2hN
YXAtPmVuZCgpKTsKQEAgLTIzOSw2ICsyNTIsOCBAQCBzdGF0aWMgdm9pZCBjb3B5TGlzdGVuZXJz
Tm90Q3JlYXRlZEZyb21NYXJrdXBUb1RhcmdldChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VAog
CiB2b2lkIEV2ZW50TGlzdGVuZXJNYXA6OmNvcHlFdmVudExpc3RlbmVyc05vdENyZWF0ZWRGcm9t
TWFya3VwVG9UYXJnZXQoRXZlbnRUYXJnZXQqIHRhcmdldCkKIHsKKyAgICBBU1NFUlQoIW1fYWN0
aXZlSXRlcmF0b3JzKTsKKwogICAgIGlmIChtX2hhc2hNYXApIHsKICAgICAgICAgRXZlbnRMaXN0
ZW5lckhhc2hNYXA6Oml0ZXJhdG9yIGVuZCA9IG1faGFzaE1hcC0+ZW5kKCk7CiAgICAgICAgIGZv
ciAoRXZlbnRMaXN0ZW5lckhhc2hNYXA6Oml0ZXJhdG9yIGl0ID0gbV9oYXNoTWFwLT5iZWdpbigp
OyBpdCAhPSBlbmQ7ICsraXQpCkBAIC0yNzIsNiArMjg3LDEwIEBAIEV2ZW50TGlzdGVuZXJJdGVy
YXRvcjo6RXZlbnRMaXN0ZW5lckl0ZXJhdG9yKEV2ZW50VGFyZ2V0KiB0YXJnZXQpCiAKICAgICBt
X21hcCA9ICZkYXRhLT5ldmVudExpc3RlbmVyTWFwOwogCisjaWZuZGVmIE5ERUJVRworICAgIG1f
bWFwLT5tX2FjdGl2ZUl0ZXJhdG9ycysrOworI2VuZGlmCisKICAgICBpZiAobV9tYXAtPm1faGFz
aE1hcCkgewogICAgICAgICBtX21hcEl0ZXJhdG9yID0gbV9tYXAtPm1faGFzaE1hcC0+YmVnaW4o
KTsKICAgICAgICAgbV9tYXBFbmQgPSBtX21hcC0+bV9oYXNoTWFwLT5lbmQoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudExpc3RlbmVyTWFwLmggYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRXZlbnRMaXN0ZW5lck1hcC5oCmluZGV4IDViOGMxYWUuLjhjODI4NzQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudExpc3RlbmVyTWFwLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvZG9tL0V2ZW50TGlzdGVuZXJNYXAuaApAQCAtNzUsMTggKzc1LDI4IEBAIHByaXZhdGU6
CiAKICAgICBBdG9taWNTdHJpbmcgbV9zaW5nbGVFdmVudExpc3RlbmVyVHlwZTsKICAgICBPd25Q
dHI8RXZlbnRMaXN0ZW5lclZlY3Rvcj4gbV9zaW5nbGVFdmVudExpc3RlbmVyVmVjdG9yOworCisj
aWZuZGVmIE5ERUJVRworICAgIGludCBtX2FjdGl2ZUl0ZXJhdG9yczsKKyNlbmRpZgogfTsKIAog
Y2xhc3MgRXZlbnRMaXN0ZW5lckl0ZXJhdG9yIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJMRShF
dmVudExpc3RlbmVySXRlcmF0b3IpOwogcHVibGljOgogICAgIEV2ZW50TGlzdGVuZXJJdGVyYXRv
cigpOwotCi0gICAgLy8gRXZlbnRUYXJnZXQgbXVzdCBub3QgYmUgbW9kaWZpZWQgd2hpbGUgYW4g
aXRlcmF0b3IgaXMgYWN0aXZlLgogICAgIEV2ZW50TGlzdGVuZXJJdGVyYXRvcihFdmVudFRhcmdl
dCopOwogCiAgICAgRXZlbnRMaXN0ZW5lciogbmV4dExpc3RlbmVyKCk7CiAKKyNpZm5kZWYgTkRF
QlVHCisgICAgfkV2ZW50TGlzdGVuZXJJdGVyYXRvcigpCisgICAgeworICAgICAgICBpZiAobV9t
YXApCisgICAgICAgICAgICBtX21hcC0+bV9hY3RpdmVJdGVyYXRvcnMtLTsKKyAgICB9CisjZW5k
aWYKKwogcHJpdmF0ZToKICAgICBFdmVudExpc3RlbmVyTWFwKiBtX21hcDsKICAgICBFdmVudExp
c3RlbmVyTWFwOjpFdmVudExpc3RlbmVySGFzaE1hcDo6aXRlcmF0b3IgbV9tYXBJdGVyYXRvcjsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>108134</attachid>
            <date>2011-09-21 04:51:07 -0700</date>
            <delta_ts>2011-09-21 06:07:25 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-68364-20110921135105.patch</filename>
            <type>text/plain</type>
            <size>5461</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTU1NDIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA5NzljMDMwYWM4ZDcwMTBi
ZWM0MDM3OWQ3NjA4YmE4MGM0YjFhYzRkLi4yN2VmZmJiZjE3MDcwNzEyYTRiYjVlMTQwNTQzYWYx
Y2NhYjkwNmJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTEtMDktMjEgIEFuZHJl
YXMgS2xpbmcgIDxrbGluZ0B3ZWJraXQub3JnPgorCisgICAgICAgIFByb3RlY3QgYWdhaW5zdCBt
aXN1c2Ugb2YgRXZlbnRMaXN0ZW5lckl0ZXJhdG9yLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzNjQKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJp
biBBZGxlci4KKworICAgICAgICBJbiBkZWJ1ZyBtb2RlLCBrZWVwIHRyYWNrIG9mIHRoZSBudW1i
ZXIgb2YgYWN0aXZlIEV2ZW50TGlzdGVuZXJJdGVyYXRvcnMKKyAgICAgICAgb24gYW4gRXZlbnRM
aXN0ZW5lck1hcCwgYW5kIGFzc2VydCB0aGF0IHRoZXJlIGFyZSBubyBpdGVyYXRvcnMgd2hlbiB0
aGUKKyAgICAgICAgbWFwIGlzIGJlaW5nIG1vZGlmaWVkLgorCisgICAgICAgICogZG9tL0V2ZW50
TGlzdGVuZXJNYXAuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRMaXN0ZW5lck1hcDo6RXZl
bnRMaXN0ZW5lck1hcCk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudExpc3RlbmVyTWFwOjpjbGVh
cik6CisgICAgICAgIChXZWJDb3JlOjpFdmVudExpc3RlbmVyTWFwOjphZGQpOgorICAgICAgICAo
V2ViQ29yZTo6RXZlbnRMaXN0ZW5lck1hcDo6cmVtb3ZlKToKKyAgICAgICAgKFdlYkNvcmU6OkV2
ZW50TGlzdGVuZXJNYXA6OmZpbmQpOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRMaXN0ZW5lck1h
cDo6cmVtb3ZlRmlyc3RFdmVudExpc3RlbmVyQ3JlYXRlZEZyb21NYXJrdXApOgorICAgICAgICAo
V2ViQ29yZTo6RXZlbnRMaXN0ZW5lck1hcDo6Y29weUV2ZW50TGlzdGVuZXJzTm90Q3JlYXRlZEZy
b21NYXJrdXBUb1RhcmdldCk6CisgICAgICAgIChXZWJDb3JlOjpFdmVudExpc3RlbmVySXRlcmF0
b3I6OkV2ZW50TGlzdGVuZXJJdGVyYXRvcik6CisgICAgICAgIChXZWJDb3JlOjpFdmVudExpc3Rl
bmVySXRlcmF0b3I6On5FdmVudExpc3RlbmVySXRlcmF0b3IpOgorICAgICAgICAqIGRvbS9FdmVu
dExpc3RlbmVyTWFwLmg6CisKIDIwMTEtMDktMjAgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lA
d2Via2l0Lm9yZz4KIAogICAgICAgICBbUXRdW01hY10gQnVpbGRmaXggYWZ0ZXIgcjk1NTEzLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TGlzdGVuZXJNYXAuY3BwIGIvU291
cmNlL1dlYkNvcmUvZG9tL0V2ZW50TGlzdGVuZXJNYXAuY3BwCmluZGV4IDhmZWIyZTgzM2Q3YzI5
Nzc1YzZiMzM5ZDlhNjE1NGE3YTJiMDBmMDUuLmU5ZmMxZTYwZDA4Mzk0OWY3YThkNTcyNTg0YzU0
YjkxNmM3NDdlOWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudExpc3RlbmVy
TWFwLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRMaXN0ZW5lck1hcC5jcHAKQEAg
LTQ0LDYgKzQ0LDkgQEAgdXNpbmcgbmFtZXNwYWNlIFdURjsKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogRXZlbnRMaXN0ZW5lck1hcDo6RXZlbnRMaXN0ZW5lck1hcCgpCisjaWZuZGVmIE5ERUJVRwor
ICAgIDogbV9hY3RpdmVJdGVyYXRvckNvdW50KDApCisjZW5kaWYKIHsKIH0KIApAQCAtNjgsNiAr
NzEsOCBAQCBib29sIEV2ZW50TGlzdGVuZXJNYXA6OmNvbnRhaW5zKGNvbnN0IEF0b21pY1N0cmlu
ZyYgZXZlbnRUeXBlKSBjb25zdAogCiB2b2lkIEV2ZW50TGlzdGVuZXJNYXA6OmNsZWFyKCkKIHsK
KyAgICBBU1NFUlQoIW1fYWN0aXZlSXRlcmF0b3JDb3VudCk7CisKICAgICBpZiAobV9oYXNoTWFw
KSB7CiAgICAgICAgIGRlbGV0ZUFsbFZhbHVlcygqbV9oYXNoTWFwKTsKICAgICAgICAgbV9oYXNo
TWFwLmNsZWFyKCk7CkBAIC0xMDUsNiArMTEwLDggQEAgc3RhdGljIGJvb2wgYWRkTGlzdGVuZXJU
b1ZlY3RvcihFdmVudExpc3RlbmVyVmVjdG9yKiB2ZWN0b3IsIFBhc3NSZWZQdHI8RXZlbnRMaXMK
IAogYm9vbCBFdmVudExpc3RlbmVyTWFwOjphZGQoY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5
cGUsIFBhc3NSZWZQdHI8RXZlbnRMaXN0ZW5lcj4gbGlzdGVuZXIsIGJvb2wgdXNlQ2FwdHVyZSkK
IHsKKyAgICBBU1NFUlQoIW1fYWN0aXZlSXRlcmF0b3JDb3VudCk7CisKICAgICBpZiAobV9zaW5n
bGVFdmVudExpc3RlbmVyVmVjdG9yICYmIG1fc2luZ2xlRXZlbnRMaXN0ZW5lclR5cGUgIT0gZXZl
bnRUeXBlKSB7CiAgICAgICAgIC8vIFdlIGFscmVhZHkgaGF2ZSBhIHNpbmdsZSAoZmlyc3QpIGxp
c3RlbmVyIHZlY3RvciwgYW5kIHRoaXMgZXZlbnQgaXMgbm90CiAgICAgICAgIC8vIG9mIHRoYXQg
dHlwZSwgc28gY3JlYXRlIHRoZSBoYXNoIG1hcCBhbmQgbW92ZSB0aGUgZmlyc3QgbGlzdGVuZXIg
dmVjdG9yIHRoZXJlLgpAQCAtMTQzLDYgKzE1MCw4IEBAIHN0YXRpYyBib29sIHJlbW92ZUxpc3Rl
bmVyRnJvbVZlY3RvcihFdmVudExpc3RlbmVyVmVjdG9yKiBsaXN0ZW5lclZlY3RvciwgRXZlbnRM
CiAKIGJvb2wgRXZlbnRMaXN0ZW5lck1hcDo6cmVtb3ZlKGNvbnN0IEF0b21pY1N0cmluZyYgZXZl
bnRUeXBlLCBFdmVudExpc3RlbmVyKiBsaXN0ZW5lciwgYm9vbCB1c2VDYXB0dXJlLCBzaXplX3Qm
IGluZGV4T2ZSZW1vdmVkTGlzdGVuZXIpCiB7CisgICAgQVNTRVJUKCFtX2FjdGl2ZUl0ZXJhdG9y
Q291bnQpOworCiAgICAgaWYgKCFtX2hhc2hNYXApIHsKICAgICAgICAgaWYgKG1fc2luZ2xlRXZl
bnRMaXN0ZW5lclR5cGUgIT0gZXZlbnRUeXBlKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwpA
QCAtMTY4LDYgKzE3Nyw4IEBAIGJvb2wgRXZlbnRMaXN0ZW5lck1hcDo6cmVtb3ZlKGNvbnN0IEF0
b21pY1N0cmluZyYgZXZlbnRUeXBlLCBFdmVudExpc3RlbmVyKiBsaXN0CiAKIEV2ZW50TGlzdGVu
ZXJWZWN0b3IqIEV2ZW50TGlzdGVuZXJNYXA6OmZpbmQoY29uc3QgQXRvbWljU3RyaW5nJiBldmVu
dFR5cGUpCiB7CisgICAgQVNTRVJUKCFtX2FjdGl2ZUl0ZXJhdG9yQ291bnQpOworCiAgICAgaWYg
KG1faGFzaE1hcCkgewogICAgICAgICBFdmVudExpc3RlbmVySGFzaE1hcDo6aXRlcmF0b3IgaXQg
PSBtX2hhc2hNYXAtPmZpbmQoZXZlbnRUeXBlKTsKICAgICAgICAgaWYgKGl0ID09IG1faGFzaE1h
cC0+ZW5kKCkpCkBAIC0yMDAsNiArMjExLDggQEAgc3RhdGljIHZvaWQgcmVtb3ZlRmlyc3RMaXN0
ZW5lckNyZWF0ZWRGcm9tTWFya3VwKEV2ZW50TGlzdGVuZXJWZWN0b3IqIGxpc3RlbmVyVmUKIAog
dm9pZCBFdmVudExpc3RlbmVyTWFwOjpyZW1vdmVGaXJzdEV2ZW50TGlzdGVuZXJDcmVhdGVkRnJv
bU1hcmt1cChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSkKIHsKKyAgICBBU1NFUlQoIW1f
YWN0aXZlSXRlcmF0b3JDb3VudCk7CisKICAgICBpZiAobV9oYXNoTWFwKSB7CiAgICAgICAgIEV2
ZW50TGlzdGVuZXJIYXNoTWFwOjppdGVyYXRvciByZXN1bHQgPSBtX2hhc2hNYXAtPmZpbmQoZXZl
bnRUeXBlKTsKICAgICAgICAgQVNTRVJUKHJlc3VsdCAhPSBtX2hhc2hNYXAtPmVuZCgpKTsKQEAg
LTIzOSw2ICsyNTIsOCBAQCBzdGF0aWMgdm9pZCBjb3B5TGlzdGVuZXJzTm90Q3JlYXRlZEZyb21N
YXJrdXBUb1RhcmdldChjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VAogCiB2b2lkIEV2ZW50TGlz
dGVuZXJNYXA6OmNvcHlFdmVudExpc3RlbmVyc05vdENyZWF0ZWRGcm9tTWFya3VwVG9UYXJnZXQo
RXZlbnRUYXJnZXQqIHRhcmdldCkKIHsKKyAgICBBU1NFUlQoIW1fYWN0aXZlSXRlcmF0b3JDb3Vu
dCk7CisKICAgICBpZiAobV9oYXNoTWFwKSB7CiAgICAgICAgIEV2ZW50TGlzdGVuZXJIYXNoTWFw
OjppdGVyYXRvciBlbmQgPSBtX2hhc2hNYXAtPmVuZCgpOwogICAgICAgICBmb3IgKEV2ZW50TGlz
dGVuZXJIYXNoTWFwOjppdGVyYXRvciBpdCA9IG1faGFzaE1hcC0+YmVnaW4oKTsgaXQgIT0gZW5k
OyArK2l0KQpAQCAtMjcyLDEyICsyODcsMjQgQEAgRXZlbnRMaXN0ZW5lckl0ZXJhdG9yOjpFdmVu
dExpc3RlbmVySXRlcmF0b3IoRXZlbnRUYXJnZXQqIHRhcmdldCkKIAogICAgIG1fbWFwID0gJmRh
dGEtPmV2ZW50TGlzdGVuZXJNYXA7CiAKKyNpZm5kZWYgTkRFQlVHCisgICAgbV9tYXAtPm1fYWN0
aXZlSXRlcmF0b3JDb3VudCsrOworI2VuZGlmCisKICAgICBpZiAobV9tYXAtPm1faGFzaE1hcCkg
ewogICAgICAgICBtX21hcEl0ZXJhdG9yID0gbV9tYXAtPm1faGFzaE1hcC0+YmVnaW4oKTsKICAg
ICAgICAgbV9tYXBFbmQgPSBtX21hcC0+bV9oYXNoTWFwLT5lbmQoKTsKICAgICB9CiB9CiAKKyNp
Zm5kZWYgTkRFQlVHCitFdmVudExpc3RlbmVySXRlcmF0b3I6On5FdmVudExpc3RlbmVySXRlcmF0
b3IoKQoreworICAgIGlmIChtX21hcCkKKyAgICAgICAgbV9tYXAtPm1fYWN0aXZlSXRlcmF0b3JD
b3VudC0tOworfQorI2VuZGlmCisKIEV2ZW50TGlzdGVuZXIqIEV2ZW50TGlzdGVuZXJJdGVyYXRv
cjo6bmV4dExpc3RlbmVyKCkKIHsKICAgICBpZiAoIW1fbWFwKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL0V2ZW50TGlzdGVuZXJNYXAuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVu
dExpc3RlbmVyTWFwLmgKaW5kZXggNWI4YzFhZWM0YWIxMGEzMzYwYWNhMjZjYmEyYjAyMmM2ODlj
NjY4ZS4uOGJlY2Y2ZTRmOTBhMjViMTczMWQ4ZDJhYTE3Y2NhNmMzZTVmZTdkMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TGlzdGVuZXJNYXAuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vRXZlbnRMaXN0ZW5lck1hcC5oCkBAIC03NSwxNSArNzUsMjAgQEAgcHJpdmF0ZToK
IAogICAgIEF0b21pY1N0cmluZyBtX3NpbmdsZUV2ZW50TGlzdGVuZXJUeXBlOwogICAgIE93blB0
cjxFdmVudExpc3RlbmVyVmVjdG9yPiBtX3NpbmdsZUV2ZW50TGlzdGVuZXJWZWN0b3I7CisKKyNp
Zm5kZWYgTkRFQlVHCisgICAgaW50IG1fYWN0aXZlSXRlcmF0b3JDb3VudDsKKyNlbmRpZgogfTsK
IAogY2xhc3MgRXZlbnRMaXN0ZW5lckl0ZXJhdG9yIHsKICAgICBXVEZfTUFLRV9OT05DT1BZQUJM
RShFdmVudExpc3RlbmVySXRlcmF0b3IpOwogcHVibGljOgogICAgIEV2ZW50TGlzdGVuZXJJdGVy
YXRvcigpOwotCi0gICAgLy8gRXZlbnRUYXJnZXQgbXVzdCBub3QgYmUgbW9kaWZpZWQgd2hpbGUg
YW4gaXRlcmF0b3IgaXMgYWN0aXZlLgogICAgIEV2ZW50TGlzdGVuZXJJdGVyYXRvcihFdmVudFRh
cmdldCopOworI2lmbmRlZiBOREVCVUcKKyAgICB+RXZlbnRMaXN0ZW5lckl0ZXJhdG9yKCk7Cisj
ZW5kaWYKIAogICAgIEV2ZW50TGlzdGVuZXIqIG5leHRMaXN0ZW5lcigpOwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>