<?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>187256</bug_id>
          
          <creation_ts>2018-07-02 10:28:53 -0700</creation_ts>
          <short_desc>Allow to remove MediaStreamPrivate observers when iterating over observers</short_desc>
          <delta_ts>2018-11-14 11:48:54 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebRTC</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1438535</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-07-02 10:28:53 -0700</bug_when>
    <thetext>This will make code clearer to understand</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1478422</commentid>
    <comment_count>1</comment_count>
      <attachid>354806</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-11-14 07:15:57 -0800</bug_when>
    <thetext>Created attachment 354806
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1478461</commentid>
    <comment_count>2</comment_count>
      <attachid>354806</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2018-11-14 09:05:41 -0800</bug_when>
    <thetext>Comment on attachment 354806
Patch

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        Copy the set of observers in a vector before iterating over it.

Nit: s/in a vector/to a vector/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1478465</commentid>
    <comment_count>3</comment_count>
      <attachid>354815</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-11-14 09:11:55 -0800</bug_when>
    <thetext>Created attachment 354815
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1478471</commentid>
    <comment_count>4</comment_count>
      <attachid>354806</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2018-11-14 09:25:06 -0800</bug_when>
    <thetext>Comment on attachment 354806
Patch

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

&gt; Source/WebCore/platform/mediastream/MediaStreamPrivate.cpp:99
&gt; +        if (!m_observers.contains(observer))
&gt; +            continue;

This technique is not guaranteed to work. Code could delete an Observer, then allocate a new Observer and the two might coincidentally use the same memory and have the same address. So checking &quot;contains&quot; on a set of weak pointers doesn’t give a guaranteed accurate answer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1478486</commentid>
    <comment_count>5</comment_count>
      <attachid>354815</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-11-14 09:50:45 -0800</bug_when>
    <thetext>Comment on attachment 354815
Patch for landing

Clearing flags on attachment: 354815

Committed r238181: &lt;https://trac.webkit.org/changeset/238181&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1478487</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-11-14 09:50:47 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1478488</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-11-14 09:51:27 -0800</bug_when>
    <thetext>&lt;rdar://problem/46065771&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1478558</commentid>
    <comment_count>8</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-11-14 11:48:54 -0800</bug_when>
    <thetext>(In reply to Darin Adler from comment #4)
&gt; Comment on attachment 354806 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=354806&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/mediastream/MediaStreamPrivate.cpp:99
&gt; &gt; +        if (!m_observers.contains(observer))
&gt; &gt; +            continue;
&gt; 
&gt; This technique is not guaranteed to work. Code could delete an Observer,
&gt; then allocate a new Observer and the two might coincidentally use the same
&gt; memory and have the same address. So checking &quot;contains&quot; on a set of weak
&gt; pointers doesn’t give a guaranteed accurate answer.

True, this adds some potential uncertainty when such collision happens.

I guess we could have a HashSet&lt;WeakPtr&lt;Observer&gt;&gt; to fix this issue.
That would add some additional count churning but maybe this is ok since we are creating a Vector already whenever iterating over observers.

I am unsure whether we should fix this uncertainty.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>354806</attachid>
            <date>2018-11-14 07:15:57 -0800</date>
            <delta_ts>2018-11-14 09:11:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-187256-20181114071557.patch</filename>
            <type>text/plain</type>
            <size>5963</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4MTM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTQxNDMzMjY5MzhkNjk4
MWYzZDM3NDE1ZDc0ZGJhNjg1YWYzNGVlOC4uY2FkZGIyMzg0OGE4Yjc3ZmE5OTA4MTU3MjMzZjQz
YjdkY2YxZjNmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE4LTExLTE0ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBbGxvdyB0byByZW1vdmUg
TWVkaWFTdHJlYW1Qcml2YXRlIG9ic2VydmVycyB3aGVuIGl0ZXJhdGluZyBvdmVyIG9ic2VydmVy
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg3MjU2
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ29weSB0
aGUgc2V0IG9mIG9ic2VydmVycyBpbiBhIHZlY3RvciBiZWZvcmUgaXRlcmF0aW5nIG92ZXIgaXQu
CisgICAgICAgIFRoaXMgYWxsb3dzIHRvIHJlbW92ZSBhbiBvYnNlcnZlciB3aGlsZSBpdGVyYXRp
bmcsIHdoaWNoIGlzIG5vdyB1c2VkIGluIFVzZXJNZWRpYVJlcXVlc3QuCisKKyAgICAgICAgQ292
ZXJlZCBieSBleGlzdGluZyB0ZXN0cy4KKworICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0v
VXNlck1lZGlhUmVxdWVzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpVc2VyTWVkaWFSZXF1ZXN0
OjptZWRpYVN0cmVhbUlzUmVhZHkpOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL01l
ZGlhU3RyZWFtUHJpdmF0ZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVByaXZh
dGU6OmFkZE9ic2VydmVyKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtUHJpdmF0ZTo6
cmVtb3ZlT2JzZXJ2ZXIpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1Qcml2YXRlOjpm
b3JFYWNoT2JzZXJ2ZXIgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1Qcml2
YXRlOjp1cGRhdGVBY3RpdmVTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVBy
aXZhdGU6OmFkZFRyYWNrKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtUHJpdmF0ZTo6
cmVtb3ZlVHJhY2spOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1Qcml2YXRlOjpjaGFy
YWN0ZXJpc3RpY3NDaGFuZ2VkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRp
YVN0cmVhbVByaXZhdGUuaDoKKwogMjAxOC0xMS0xNCAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBh
cHBsZS5jb20+CiAKICAgICAgICAgQWRkIHN1cHBvcnQgZm9yIFJUQ1J0cENvZGVjUGFyYW1ldGVy
cy5zZHBGbXRwTGluZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9Vc2VyTWVkaWFSZXF1ZXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vVXNlck1lZGlhUmVxdWVzdC5jcHAKaW5kZXggZjYxNmViN2E4MTM3YjQ0MTNkZjY2OGMz
MDEzOWY1ZTY4YzBmOGQwNC4uZTEwYjk2YmM5MWQ2ZmU1OGNjMGFiOWVjYTYxMjZhZjJiMzY4MTkz
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVk
aWFSZXF1ZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1Vz
ZXJNZWRpYVJlcXVlc3QuY3BwCkBAIC0zNjUsOCArMzY1LDcgQEAgdm9pZCBVc2VyTWVkaWFSZXF1
ZXN0OjptZWRpYVN0cmVhbUlzUmVhZHkoUmVmPE1lZGlhU3RyZWFtPiYmIHN0cmVhbSkKICAgICBS
RUxFQVNFX0xPRyhNZWRpYVN0cmVhbSwgIlVzZXJNZWRpYVJlcXVlc3Q6Om1lZGlhU3RyZWFtSXNS
ZWFkeSIpOwogICAgIHN0cmVhbS0+ZG9jdW1lbnQoKS0+c2V0SGFzQ2FwdHVyZU1lZGlhU3RyZWFt
VHJhY2soKTsKICAgICBtX3Byb21pc2UucmVzb2x2ZShXVEZNb3ZlKHN0cmVhbSkpOwotICAgIC8v
IFdlIGFyZSBpbiBhbiBvYnNlcnZlciBpdGVyYXRvciBsb29wLCB3ZSBkbyBub3Qgd2FudCB0byBj
aGFuZ2UgdGhlIG9ic2VydmVycyB3aXRoaW4gdGhpcyBsb29wLgotICAgIGNhbGxPbk1haW5UaHJl
YWQoW3N0cmVhbSA9IFdURk1vdmUobV9wZW5kaW5nQWN0aXZhdGlvbk1lZGlhU3RyZWFtKV0geyB9
KTsKKyAgICBtX3BlbmRpbmdBY3RpdmF0aW9uTWVkaWFTdHJlYW0gPSBudWxscHRyOwogfQogCiB2
b2lkIFVzZXJNZWRpYVJlcXVlc3Q6Om1lZGlhU3RyZWFtRGlkRmFpbChSZWFsdGltZU1lZGlhU291
cmNlOjpUeXBlIHR5cGUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRp
YXN0cmVhbS9NZWRpYVN0cmVhbVByaXZhdGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1Qcml2YXRlLmNwcAppbmRleCA5NjUyMjllZmRkNjI1OTAz
MTQ3NjIzYzkzMThlYjMzMmQ3M2MzMDE3Li5iZDhlYjg4YmYzZjlkODg0ZGFjYTVmNzRiMzZiNjI0
YzBiZDA2MTBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9NZWRpYVN0cmVhbVByaXZhdGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL01lZGlhU3RyZWFtUHJpdmF0ZS5jcHAKQEAgLTg0LDE0ICs4NCwyMSBAQCBNZWRp
YVN0cmVhbVByaXZhdGU6On5NZWRpYVN0cmVhbVByaXZhdGUoKQogCiB2b2lkIE1lZGlhU3RyZWFt
UHJpdmF0ZTo6YWRkT2JzZXJ2ZXIoTWVkaWFTdHJlYW1Qcml2YXRlOjpPYnNlcnZlciYgb2JzZXJ2
ZXIpCiB7Ci0gICAgbV9vYnNlcnZlcnMuYXBwZW5kKCZvYnNlcnZlcik7CisgICAgbV9vYnNlcnZl
cnMuYWRkKCZvYnNlcnZlcik7CiB9CiAKIHZvaWQgTWVkaWFTdHJlYW1Qcml2YXRlOjpyZW1vdmVP
YnNlcnZlcihNZWRpYVN0cmVhbVByaXZhdGU6Ok9ic2VydmVyJiBvYnNlcnZlcikKIHsKLSAgICBz
aXplX3QgcG9zID0gbV9vYnNlcnZlcnMuZmluZCgmb2JzZXJ2ZXIpOwotICAgIGlmIChwb3MgIT0g
bm90Rm91bmQpCi0gICAgICAgIG1fb2JzZXJ2ZXJzLnJlbW92ZShwb3MpOworICAgIG1fb2JzZXJ2
ZXJzLnJlbW92ZSgmb2JzZXJ2ZXIpOworfQorCit2b2lkIE1lZGlhU3RyZWFtUHJpdmF0ZTo6Zm9y
RWFjaE9ic2VydmVyKGNvbnN0IFdURjo6RnVuY3Rpb248dm9pZChPYnNlcnZlciYpPiYgYXBwbHkp
IGNvbnN0Cit7CisgICAgZm9yIChhdXRvKiBvYnNlcnZlciA6IGNvcHlUb1ZlY3RvcihtX29ic2Vy
dmVycykpIHsKKyAgICAgICAgaWYgKCFtX29ic2VydmVycy5jb250YWlucyhvYnNlcnZlcikpCisg
ICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgYXBwbHkoKm9ic2VydmVyKTsKKyAgICB9CiB9
CiAKIE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlVmVjdG9yIE1lZGlhU3RyZWFtUHJpdmF0ZTo6dHJh
Y2tzKCkgY29uc3QKQEAgLTExOCw4ICsxMjUsOSBAQCB2b2lkIE1lZGlhU3RyZWFtUHJpdmF0ZTo6
dXBkYXRlQWN0aXZlU3RhdGUoTm90aWZ5Q2xpZW50T3B0aW9uIG5vdGlmeUNsaWVudE9wdGlvbgog
ICAgIG1faXNBY3RpdmUgPSBuZXdBY3RpdmVTdGF0ZTsKIAogICAgIGlmIChub3RpZnlDbGllbnRP
cHRpb24gPT0gTm90aWZ5Q2xpZW50T3B0aW9uOjpOb3RpZnkpIHsKLSAgICAgICAgZm9yIChhdXRv
JiBvYnNlcnZlciA6IG1fb2JzZXJ2ZXJzKQotICAgICAgICAgICAgb2JzZXJ2ZXItPmFjdGl2ZVN0
YXR1c0NoYW5nZWQoKTsKKyAgICAgICAgZm9yRWFjaE9ic2VydmVyKFtdKGF1dG8mIG9ic2VydmVy
KSB7CisgICAgICAgICAgICBvYnNlcnZlci5hY3RpdmVTdGF0dXNDaGFuZ2VkKCk7CisgICAgICAg
IH0pOwogICAgIH0KIH0KIApAQCAtMTMyLDggKzE0MCw5IEBAIHZvaWQgTWVkaWFTdHJlYW1Qcml2
YXRlOjphZGRUcmFjayhSZWZQdHI8TWVkaWFTdHJlYW1UcmFja1ByaXZhdGU+JiYgdHJhY2ssIE5v
dGlmCiAgICAgbV90cmFja1NldC5hZGQodHJhY2stPmlkKCksIHRyYWNrKTsKIAogICAgIGlmIChu
b3RpZnlDbGllbnRPcHRpb24gPT0gTm90aWZ5Q2xpZW50T3B0aW9uOjpOb3RpZnkpIHsKLSAgICAg
ICAgZm9yIChhdXRvJiBvYnNlcnZlciA6IG1fb2JzZXJ2ZXJzKQotICAgICAgICAgICAgb2JzZXJ2
ZXItPmRpZEFkZFRyYWNrKCp0cmFjay5nZXQoKSk7CisgICAgICAgIGZvckVhY2hPYnNlcnZlcihb
JnRyYWNrXShhdXRvJiBvYnNlcnZlcikgeworICAgICAgICAgICAgb2JzZXJ2ZXIuZGlkQWRkVHJh
Y2soKnRyYWNrLmdldCgpKTsKKyAgICAgICAgfSk7CiAgICAgfQogCiAgICAgdXBkYXRlQWN0aXZl
U3RhdGUobm90aWZ5Q2xpZW50T3B0aW9uKTsKQEAgLTE0OCw4ICsxNTcsOSBAQCB2b2lkIE1lZGlh
U3RyZWFtUHJpdmF0ZTo6cmVtb3ZlVHJhY2soTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUmIHRyYWNr
LCBOb3RpZnlDbGllbgogICAgIHRyYWNrLnJlbW92ZU9ic2VydmVyKCp0aGlzKTsKIAogICAgIGlm
IChub3RpZnlDbGllbnRPcHRpb24gPT0gTm90aWZ5Q2xpZW50T3B0aW9uOjpOb3RpZnkpIHsKLSAg
ICAgICAgZm9yIChhdXRvJiBvYnNlcnZlciA6IG1fb2JzZXJ2ZXJzKQotICAgICAgICAgICAgb2Jz
ZXJ2ZXItPmRpZFJlbW92ZVRyYWNrKHRyYWNrKTsKKyAgICAgICAgZm9yRWFjaE9ic2VydmVyKFsm
dHJhY2tdKGF1dG8mIG9ic2VydmVyKSB7CisgICAgICAgICAgICBvYnNlcnZlci5kaWRSZW1vdmVU
cmFjayh0cmFjayk7CisgICAgICAgIH0pOwogICAgIH0KIAogICAgIHVwZGF0ZUFjdGl2ZVN0YXRl
KE5vdGlmeUNsaWVudE9wdGlvbjo6Tm90aWZ5KTsKQEAgLTI1Niw4ICsyNjYsOSBAQCB2b2lkIE1l
ZGlhU3RyZWFtUHJpdmF0ZTo6dXBkYXRlQWN0aXZlVmlkZW9UcmFjaygpCiAKIHZvaWQgTWVkaWFT
dHJlYW1Qcml2YXRlOjpjaGFyYWN0ZXJpc3RpY3NDaGFuZ2VkKCkKIHsKLSAgICBmb3IgKGF1dG8m
IG9ic2VydmVyIDogbV9vYnNlcnZlcnMpCi0gICAgICAgIG9ic2VydmVyLT5jaGFyYWN0ZXJpc3Rp
Y3NDaGFuZ2VkKCk7CisgICAgZm9yRWFjaE9ic2VydmVyKFtdKGF1dG8mIG9ic2VydmVyKSB7Cisg
ICAgICAgIG9ic2VydmVyLmNoYXJhY3RlcmlzdGljc0NoYW5nZWQoKTsKKyAgICB9KTsKIH0KIAog
dm9pZCBNZWRpYVN0cmVhbVByaXZhdGU6OnRyYWNrTXV0ZWRDaGFuZ2VkKE1lZGlhU3RyZWFtVHJh
Y2tQcml2YXRlJikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL01lZGlhU3RyZWFtUHJpdmF0ZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFz
dHJlYW0vTWVkaWFTdHJlYW1Qcml2YXRlLmgKaW5kZXggZGM2NWFkODM0Njg3MWI3YjJmMjYwNTgy
YWIyYjYwZWY5Mjc0MjEwOC4uZTE0NmM2ODBhOTVmMjcwYTg0NmVjY2QwOWE5ZGJmODI1YWZlNmI1
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFT
dHJlYW1Qcml2YXRlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
TWVkaWFTdHJlYW1Qcml2YXRlLmgKQEAgLTExNyw4ICsxMTcsOSBAQCBwcml2YXRlOgogICAgIHZv
aWQgdXBkYXRlQWN0aXZlVmlkZW9UcmFjaygpOwogCiAgICAgdm9pZCBzY2hlZHVsZURlZmVycmVk
VGFzayhGdW5jdGlvbjx2b2lkICgpPiYmKTsKKyAgICB2b2lkIGZvckVhY2hPYnNlcnZlcihjb25z
dCBXVEY6OkZ1bmN0aW9uPHZvaWQoT2JzZXJ2ZXImKT4mKSBjb25zdDsKIAotICAgIFZlY3RvcjxP
YnNlcnZlcio+IG1fb2JzZXJ2ZXJzOworICAgIEhhc2hTZXQ8T2JzZXJ2ZXIqPiBtX29ic2VydmVy
czsKICAgICBTdHJpbmcgbV9pZDsKICAgICBNZWRpYVN0cmVhbVRyYWNrUHJpdmF0ZSogbV9hY3Rp
dmVWaWRlb1RyYWNrIHsgbnVsbHB0ciB9OwogICAgIEhhc2hNYXA8U3RyaW5nLCBSZWZQdHI8TWVk
aWFTdHJlYW1UcmFja1ByaXZhdGU+PiBtX3RyYWNrU2V0Owo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>354815</attachid>
            <date>2018-11-14 09:11:55 -0800</date>
            <delta_ts>2018-11-14 09:50:45 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-187256-20181114091154.patch</filename>
            <type>text/plain</type>
            <size>6126</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM4MTM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTQxNDMzMjY5MzhkNjk4
MWYzZDM3NDE1ZDc0ZGJhNjg1YWYzNGVlOC4uZjg3OTY4ZGZlZWFhZDgyNzU3N2Y5YjgxNzVkMzEw
ZmE5ZWM1OTE3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDE4LTExLTE0ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBbGxvdyB0byByZW1vdmUg
TWVkaWFTdHJlYW1Qcml2YXRlIG9ic2VydmVycyB3aGVuIGl0ZXJhdGluZyBvdmVyIG9ic2VydmVy
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg3MjU2
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29uLgorCisgICAgICAgIE1pZ3JhdGUg
dGhlIG9ic2VydmVyIGxpc3QgZnJvbSBhIFZlY3RvciB0byBhIEhhc2hTZXQuCisgICAgICAgIFRo
aXMgaXMgbW9yZSByb2J1c3QgdG8gbXVsdGlwbGUgb2JzZXJ2aW5nIGFuZCBrZWVwaW5nIG9mIG9y
ZGVyIG9mIG9ic2VydmVycyBpcyBub3QgcmVxdWlyZWQuCisgICAgICAgIENvcHkgdGhlIHNldCBv
ZiBvYnNlcnZlcnMgdG8gYSB2ZWN0b3IgYmVmb3JlIGl0ZXJhdGluZyBvdmVyIGl0LgorICAgICAg
ICBUaGlzIGFsbG93cyB0byByZW1vdmUgYW4gb2JzZXJ2ZXIgd2hpbGUgaXRlcmF0aW5nLCB3aGlj
aCBpcyBub3cgdXNlZCBpbiBVc2VyTWVkaWFSZXF1ZXN0LgorCisgICAgICAgIENvdmVyZWQgYnkg
ZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1VzZXJNZWRp
YVJlcXVlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VXNlck1lZGlhUmVxdWVzdDo6bWVkaWFT
dHJlYW1Jc1JlYWR5KToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRpYVN0cmVh
bVByaXZhdGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1Qcml2YXRlOjphZGRP
YnNlcnZlcik6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVByaXZhdGU6OnJlbW92ZU9i
c2VydmVyKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtUHJpdmF0ZTo6Zm9yRWFjaE9i
c2VydmVyIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtUHJpdmF0ZTo6dXBk
YXRlQWN0aXZlU3RhdGUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFTdHJlYW1Qcml2YXRlOjph
ZGRUcmFjayk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVN0cmVhbVByaXZhdGU6OnJlbW92ZVRy
YWNrKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhU3RyZWFtUHJpdmF0ZTo6Y2hhcmFjdGVyaXN0
aWNzQ2hhbmdlZCk6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFTdHJlYW1Q
cml2YXRlLmg6CisKIDIwMTgtMTEtMTQgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29t
PgogCiAgICAgICAgIEFkZCBzdXBwb3J0IGZvciBSVENSdHBDb2RlY1BhcmFtZXRlcnMuc2RwRm10
cExpbmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vVXNl
ck1lZGlhUmVxdWVzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1Vz
ZXJNZWRpYVJlcXVlc3QuY3BwCmluZGV4IGY2MTZlYjdhODEzN2I0NDEzZGY2NjhjMzAxMzlmNWU2
OGMwZjhkMDQuLmUxMGI5NmJjOTFkNmZlNThjYzBhYjllY2E2MTI2YWYyYjM2ODE5M2MgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vVXNlck1lZGlhUmVxdWVz
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9Vc2VyTWVkaWFS
ZXF1ZXN0LmNwcApAQCAtMzY1LDggKzM2NSw3IEBAIHZvaWQgVXNlck1lZGlhUmVxdWVzdDo6bWVk
aWFTdHJlYW1Jc1JlYWR5KFJlZjxNZWRpYVN0cmVhbT4mJiBzdHJlYW0pCiAgICAgUkVMRUFTRV9M
T0coTWVkaWFTdHJlYW0sICJVc2VyTWVkaWFSZXF1ZXN0OjptZWRpYVN0cmVhbUlzUmVhZHkiKTsK
ICAgICBzdHJlYW0tPmRvY3VtZW50KCktPnNldEhhc0NhcHR1cmVNZWRpYVN0cmVhbVRyYWNrKCk7
CiAgICAgbV9wcm9taXNlLnJlc29sdmUoV1RGTW92ZShzdHJlYW0pKTsKLSAgICAvLyBXZSBhcmUg
aW4gYW4gb2JzZXJ2ZXIgaXRlcmF0b3IgbG9vcCwgd2UgZG8gbm90IHdhbnQgdG8gY2hhbmdlIHRo
ZSBvYnNlcnZlcnMgd2l0aGluIHRoaXMgbG9vcC4KLSAgICBjYWxsT25NYWluVGhyZWFkKFtzdHJl
YW0gPSBXVEZNb3ZlKG1fcGVuZGluZ0FjdGl2YXRpb25NZWRpYVN0cmVhbSldIHsgfSk7CisgICAg
bV9wZW5kaW5nQWN0aXZhdGlvbk1lZGlhU3RyZWFtID0gbnVsbHB0cjsKIH0KIAogdm9pZCBVc2Vy
TWVkaWFSZXF1ZXN0OjptZWRpYVN0cmVhbURpZEZhaWwoUmVhbHRpbWVNZWRpYVNvdXJjZTo6VHlw
ZSB0eXBlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0v
TWVkaWFTdHJlYW1Qcml2YXRlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3Ry
ZWFtL01lZGlhU3RyZWFtUHJpdmF0ZS5jcHAKaW5kZXggOTY1MjI5ZWZkZDYyNTkwMzE0NzYyM2M5
MzE4ZWIzMzJkNzNjMzAxNy4uYmQ4ZWI4OGJmM2Y5ZDg4NGRhY2E1Zjc0YjM2YjYyNGMwYmQwNjEw
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vTWVkaWFT
dHJlYW1Qcml2YXRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9NZWRpYVN0cmVhbVByaXZhdGUuY3BwCkBAIC04NCwxNCArODQsMjEgQEAgTWVkaWFTdHJlYW1Q
cml2YXRlOjp+TWVkaWFTdHJlYW1Qcml2YXRlKCkKIAogdm9pZCBNZWRpYVN0cmVhbVByaXZhdGU6
OmFkZE9ic2VydmVyKE1lZGlhU3RyZWFtUHJpdmF0ZTo6T2JzZXJ2ZXImIG9ic2VydmVyKQogewot
ICAgIG1fb2JzZXJ2ZXJzLmFwcGVuZCgmb2JzZXJ2ZXIpOworICAgIG1fb2JzZXJ2ZXJzLmFkZCgm
b2JzZXJ2ZXIpOwogfQogCiB2b2lkIE1lZGlhU3RyZWFtUHJpdmF0ZTo6cmVtb3ZlT2JzZXJ2ZXIo
TWVkaWFTdHJlYW1Qcml2YXRlOjpPYnNlcnZlciYgb2JzZXJ2ZXIpCiB7Ci0gICAgc2l6ZV90IHBv
cyA9IG1fb2JzZXJ2ZXJzLmZpbmQoJm9ic2VydmVyKTsKLSAgICBpZiAocG9zICE9IG5vdEZvdW5k
KQotICAgICAgICBtX29ic2VydmVycy5yZW1vdmUocG9zKTsKKyAgICBtX29ic2VydmVycy5yZW1v
dmUoJm9ic2VydmVyKTsKK30KKwordm9pZCBNZWRpYVN0cmVhbVByaXZhdGU6OmZvckVhY2hPYnNl
cnZlcihjb25zdCBXVEY6OkZ1bmN0aW9uPHZvaWQoT2JzZXJ2ZXImKT4mIGFwcGx5KSBjb25zdAor
eworICAgIGZvciAoYXV0byogb2JzZXJ2ZXIgOiBjb3B5VG9WZWN0b3IobV9vYnNlcnZlcnMpKSB7
CisgICAgICAgIGlmICghbV9vYnNlcnZlcnMuY29udGFpbnMob2JzZXJ2ZXIpKQorICAgICAgICAg
ICAgY29udGludWU7CisgICAgICAgIGFwcGx5KCpvYnNlcnZlcik7CisgICAgfQogfQogCiBNZWRp
YVN0cmVhbVRyYWNrUHJpdmF0ZVZlY3RvciBNZWRpYVN0cmVhbVByaXZhdGU6OnRyYWNrcygpIGNv
bnN0CkBAIC0xMTgsOCArMTI1LDkgQEAgdm9pZCBNZWRpYVN0cmVhbVByaXZhdGU6OnVwZGF0ZUFj
dGl2ZVN0YXRlKE5vdGlmeUNsaWVudE9wdGlvbiBub3RpZnlDbGllbnRPcHRpb24KICAgICBtX2lz
QWN0aXZlID0gbmV3QWN0aXZlU3RhdGU7CiAKICAgICBpZiAobm90aWZ5Q2xpZW50T3B0aW9uID09
IE5vdGlmeUNsaWVudE9wdGlvbjo6Tm90aWZ5KSB7Ci0gICAgICAgIGZvciAoYXV0byYgb2JzZXJ2
ZXIgOiBtX29ic2VydmVycykKLSAgICAgICAgICAgIG9ic2VydmVyLT5hY3RpdmVTdGF0dXNDaGFu
Z2VkKCk7CisgICAgICAgIGZvckVhY2hPYnNlcnZlcihbXShhdXRvJiBvYnNlcnZlcikgeworICAg
ICAgICAgICAgb2JzZXJ2ZXIuYWN0aXZlU3RhdHVzQ2hhbmdlZCgpOworICAgICAgICB9KTsKICAg
ICB9CiB9CiAKQEAgLTEzMiw4ICsxNDAsOSBAQCB2b2lkIE1lZGlhU3RyZWFtUHJpdmF0ZTo6YWRk
VHJhY2soUmVmUHRyPE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlPiYmIHRyYWNrLCBOb3RpZgogICAg
IG1fdHJhY2tTZXQuYWRkKHRyYWNrLT5pZCgpLCB0cmFjayk7CiAKICAgICBpZiAobm90aWZ5Q2xp
ZW50T3B0aW9uID09IE5vdGlmeUNsaWVudE9wdGlvbjo6Tm90aWZ5KSB7Ci0gICAgICAgIGZvciAo
YXV0byYgb2JzZXJ2ZXIgOiBtX29ic2VydmVycykKLSAgICAgICAgICAgIG9ic2VydmVyLT5kaWRB
ZGRUcmFjaygqdHJhY2suZ2V0KCkpOworICAgICAgICBmb3JFYWNoT2JzZXJ2ZXIoWyZ0cmFja10o
YXV0byYgb2JzZXJ2ZXIpIHsKKyAgICAgICAgICAgIG9ic2VydmVyLmRpZEFkZFRyYWNrKCp0cmFj
ay5nZXQoKSk7CisgICAgICAgIH0pOwogICAgIH0KIAogICAgIHVwZGF0ZUFjdGl2ZVN0YXRlKG5v
dGlmeUNsaWVudE9wdGlvbik7CkBAIC0xNDgsOCArMTU3LDkgQEAgdm9pZCBNZWRpYVN0cmVhbVBy
aXZhdGU6OnJlbW92ZVRyYWNrKE1lZGlhU3RyZWFtVHJhY2tQcml2YXRlJiB0cmFjaywgTm90aWZ5
Q2xpZW4KICAgICB0cmFjay5yZW1vdmVPYnNlcnZlcigqdGhpcyk7CiAKICAgICBpZiAobm90aWZ5
Q2xpZW50T3B0aW9uID09IE5vdGlmeUNsaWVudE9wdGlvbjo6Tm90aWZ5KSB7Ci0gICAgICAgIGZv
ciAoYXV0byYgb2JzZXJ2ZXIgOiBtX29ic2VydmVycykKLSAgICAgICAgICAgIG9ic2VydmVyLT5k
aWRSZW1vdmVUcmFjayh0cmFjayk7CisgICAgICAgIGZvckVhY2hPYnNlcnZlcihbJnRyYWNrXShh
dXRvJiBvYnNlcnZlcikgeworICAgICAgICAgICAgb2JzZXJ2ZXIuZGlkUmVtb3ZlVHJhY2sodHJh
Y2spOworICAgICAgICB9KTsKICAgICB9CiAKICAgICB1cGRhdGVBY3RpdmVTdGF0ZShOb3RpZnlD
bGllbnRPcHRpb246Ok5vdGlmeSk7CkBAIC0yNTYsOCArMjY2LDkgQEAgdm9pZCBNZWRpYVN0cmVh
bVByaXZhdGU6OnVwZGF0ZUFjdGl2ZVZpZGVvVHJhY2soKQogCiB2b2lkIE1lZGlhU3RyZWFtUHJp
dmF0ZTo6Y2hhcmFjdGVyaXN0aWNzQ2hhbmdlZCgpCiB7Ci0gICAgZm9yIChhdXRvJiBvYnNlcnZl
ciA6IG1fb2JzZXJ2ZXJzKQotICAgICAgICBvYnNlcnZlci0+Y2hhcmFjdGVyaXN0aWNzQ2hhbmdl
ZCgpOworICAgIGZvckVhY2hPYnNlcnZlcihbXShhdXRvJiBvYnNlcnZlcikgeworICAgICAgICBv
YnNlcnZlci5jaGFyYWN0ZXJpc3RpY3NDaGFuZ2VkKCk7CisgICAgfSk7CiB9CiAKIHZvaWQgTWVk
aWFTdHJlYW1Qcml2YXRlOjp0cmFja011dGVkQ2hhbmdlZChNZWRpYVN0cmVhbVRyYWNrUHJpdmF0
ZSYpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9NZWRp
YVN0cmVhbVByaXZhdGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01l
ZGlhU3RyZWFtUHJpdmF0ZS5oCmluZGV4IGRjNjVhZDgzNDY4NzFiN2IyZjI2MDU4MmFiMmI2MGVm
OTI3NDIxMDguLmUxNDZjNjgwYTk1ZjI3MGE4NDZlY2NkMDlhOWRiZjgyNWFmZTZiNTQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3RyZWFtUHJp
dmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL01lZGlhU3Ry
ZWFtUHJpdmF0ZS5oCkBAIC0xMTcsOCArMTE3LDkgQEAgcHJpdmF0ZToKICAgICB2b2lkIHVwZGF0
ZUFjdGl2ZVZpZGVvVHJhY2soKTsKIAogICAgIHZvaWQgc2NoZWR1bGVEZWZlcnJlZFRhc2soRnVu
Y3Rpb248dm9pZCAoKT4mJik7CisgICAgdm9pZCBmb3JFYWNoT2JzZXJ2ZXIoY29uc3QgV1RGOjpG
dW5jdGlvbjx2b2lkKE9ic2VydmVyJik+JikgY29uc3Q7CiAKLSAgICBWZWN0b3I8T2JzZXJ2ZXIq
PiBtX29ic2VydmVyczsKKyAgICBIYXNoU2V0PE9ic2VydmVyKj4gbV9vYnNlcnZlcnM7CiAgICAg
U3RyaW5nIG1faWQ7CiAgICAgTWVkaWFTdHJlYW1UcmFja1ByaXZhdGUqIG1fYWN0aXZlVmlkZW9U
cmFjayB7IG51bGxwdHIgfTsKICAgICBIYXNoTWFwPFN0cmluZywgUmVmUHRyPE1lZGlhU3RyZWFt
VHJhY2tQcml2YXRlPj4gbV90cmFja1NldDsK
</data>

          </attachment>
      

    </bug>

</bugzilla>