<?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>142231</bug_id>
          
          <creation_ts>2015-03-03 12:22:08 -0800</creation_ts>
          <short_desc>bmalloc: Miscellaneous cleanup</short_desc>
          <delta_ts>2015-03-03 13:48:10 -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>New Bugs</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="Geoffrey Garen">ggaren</reporter>
          <assigned_to name="Geoffrey Garen">ggaren</assigned_to>
          <cc>kling</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1073753</commentid>
    <comment_count>0</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-03-03 12:22:08 -0800</bug_when>
    <thetext>bmalloc: Miscellaneous cleanup</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1073755</commentid>
    <comment_count>1</comment_count>
      <attachid>247778</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-03-03 12:28:04 -0800</bug_when>
    <thetext>Created attachment 247778
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1073757</commentid>
    <comment_count>2</comment_count>
      <attachid>247780</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-03-03 12:34:34 -0800</bug_when>
    <thetext>Created attachment 247780
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1073768</commentid>
    <comment_count>3</comment_count>
      <attachid>247780</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2015-03-03 13:13:36 -0800</bug_when>
    <thetext>Comment on attachment 247780
Patch

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

r=me

&gt; Source/bmalloc/bmalloc/Vector.h:92
&gt; -    vmDeallocate(m_buffer, vmSize(m_capacity * sizeof(T)));
&gt; +    if (m_buffer)
&gt; +        vmDeallocate(m_buffer, vmSize(m_capacity * sizeof(T)));

Whoops :o</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1073783</commentid>
    <comment_count>4</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-03-03 13:48:10 -0800</bug_when>
    <thetext>Committed r180953: &lt;http://trac.webkit.org/changeset/180953&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>247778</attachid>
            <date>2015-03-03 12:28:04 -0800</date>
            <delta_ts>2015-03-03 12:34:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-142231-20150303122746.patch</filename>
            <type>text/plain</type>
            <size>10282</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9ibWFsbG9jL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvYm1h
bGxvYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4MDk1MCkKKysrIFNvdXJjZS9ibWFsbG9jL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDUyIEBACisyMDE1LTAzLTAzICBHZW9mZnJl
eSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CisKKyAgICAgICAgYm1hbGxvYzogTWlzY2VsbGFu
ZW91cyBjbGVhbnVwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNDIyMzEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBObyBwZXJmb3JtYW5jZSBjaGFuZ2UgLS0gbWF5YmUgYSB0aW55IHJlZHVjdGlvbiBpbiBt
ZW1vcnkgdXNlLgorCisgICAgICAgICogYm1hbGxvYy9IZWFwLmNwcDogTW92ZWQgdGhlIHNsZWVw
IGZ1bmN0aW9uIGludG8gU3RhdGljTXV0ZXgsIHNpbmNlCisgICAgICAgIGl0J3MgYSBoZWxwZXIg
Zm9yIHdvcmtpbmcgd2l0aCBtdXRleGVzLgorCisgICAgICAgIChibWFsbG9jOjpIZWFwOjpzY2F2
ZW5nZSk6IE1ha2Ugc3VyZSB0byB3YWl0IGJlZm9yZSB3ZSBzdGFydCBhbnkKKyAgICAgICAgc2Nh
dmVuZ2luZywgc2luY2UgaW5kaXZpZHVhbCBzY2F2ZW5naW5nIGZ1bmN0aW9ucyBub3cgYWx3YXlz
IHNjYXZlbmdlCisgICAgICAgIGF0IGxlYXN0IG9uZSBwYWdlIGJlZm9yZSB3YWl0aW5nIHRoZW1z
ZWx2ZXMuCisKKyAgICAgICAgKGJtYWxsb2M6OkhlYXA6OnNjYXZlbmdlU21hbGxQYWdlcyk6Cisg
ICAgICAgIChibWFsbG9jOjpIZWFwOjpzY2F2ZW5nZU1lZGl1bVBhZ2VzKToKKyAgICAgICAgKGJt
YWxsb2M6OkhlYXA6OnNjYXZlbmdlTGFyZ2VPYmplY3RzKTogVXNlIHRoZSBuZXcgd2FpdCBoZWxw
ZXIgdG8KKyAgICAgICAgc2ltcGxpZnkgdGhpcyBjb2RlLiBBbHNvLCB3ZSBub3cgcmVxdWlyZSBv
dXIgY2FsbGVyIHRvIHdhaXQgdW50aWwgYXQKKyAgICAgICAgbGVhc3Qgb25lIGRlYWxsb2NhdGlv
biBpcyBkZXNpcmFibGUuIFRoaXMgc2ltcGxpZmllcyBvdXIgbG9vcC4KKworICAgICAgICAoYm1h
bGxvYzo6SGVhcDo6YWxsb2NhdGVTbWFsbFBhZ2UpOgorICAgICAgICAoYm1hbGxvYzo6SGVhcDo6
YWxsb2NhdGVNZWRpdW1QYWdlKToKKyAgICAgICAgKGJtYWxsb2M6OkhlYXA6OmFsbG9jYXRlWExh
cmdlKToKKyAgICAgICAgKGJtYWxsb2M6OkhlYXA6OmFsbG9jYXRlTGFyZ2UpOiBEb24ndCBmcmVh
ayBvdXQgYW55IHRpbWUgdGhlIGhlYXAgZG9lcworICAgICAgICBhbiBhbGxvY2F0aW9uLiBPbmx5
IGNvbnNpZGVyIHRoZSBoZWFwIHRvIGJlIGdyb3dpbmcgaWYgaXQgYWN0dWFsbHkgbmVlZHMKKyAg
ICAgICAgdG8gYWxsb2NhdGUgbmV3IFZNLiBUaGlzIGFsbG93cyB1cyB0byBzaHJpbmsgdGhlIGhl
YXAgYmFjayBkb3duIGZyb20gYQorICAgICAgICBoaWdoIHdhdGVyIG1hcmsgbW9yZSByZWxpYWJs
eSBldmVuIGlmIGhlYXAgYWN0aXZpdHkgY29udGludWVzLgorCisgICAgICAgIChibWFsbG9jOjpz
bGVlcCk6IERlbGV0ZWQuCisgICAgICAgIChibWFsbG9jOjpIZWFwOjpzY2F2ZW5nZUxhcmdlUmFu
Z2VzKTogUmVuYW1lZCB0byBtYXRjaCBvdXIgdXNlIG9mCisgICAgICAgICJMYXJnZU9iamVjdCIu
CisKKyAgICAgICAgKiBibWFsbG9jL0hlYXAuaDoKKworICAgICAgICAqIGJtYWxsb2MvTGFyZ2VP
YmplY3QuaDoKKyAgICAgICAgKGJtYWxsb2M6OkxhcmdlT2JqZWN0OjpvcGVyYXRvciBib29sKTog
QWRkZWQgdG8gc2ltcGxpZnkgYSB3aGlsZSBsb29wLgorCisgICAgICAgICogYm1hbGxvYy9TdGF0
aWNNdXRleC5oOgorICAgICAgICAoYm1hbGxvYzo6c2xlZXApOgorICAgICAgICAoYm1hbGxvYzo6
d2FpdFVudGlsRmFsc2UpOiBOZXcgaGVscGVyIGZvciB3YWl0aW5nIHVudGlsIGEgY29uZGl0aW9u
CisgICAgICAgIGJlY29tZXMgcmVsaWFibHkgZmFsc2UuCisKKyAgICAgICAgKiBibWFsbG9jL1Zl
Y3Rvci5oOgorICAgICAgICAoYm1hbGxvYzo6VmVjdG9yPFQ+Ojp+VmVjdG9yKTogT29wcyEgRG9u
J3QgZGVhbGxvY2F0ZSB0aGUgbnVsbCBwb2ludGVyLgorICAgICAgICBXZSBkb24ndCBhY3R1YWxs
eSBydW4gYW55IFZlY3RvciBkZXN0cnVjdG9ycywgYnV0IGFuIGl0ZXJhdGlvbiBvZiB0aGlzCisg
ICAgICAgIHBhdGNoIGRpZCwgYW5kIHRoZW4gY3Jhc2hlZC4gU28sIGxldCdzIGZpeCB0aGF0Lgor
CiAyMDE1LTAzLTAyICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgYm1hbGxvYzogRWFnZXJseSByZW1vdmUgYWxsb2NhdGVkIG9iamVjdHMgZnJvbSB0aGUgZnJl
ZSBsaXN0CkluZGV4OiBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0hlYXAuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvSGVhcC5jcHAJKHJldmlzaW9uIDE4MDkyMCkKKysr
IFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvSGVhcC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM1LDE2
ICszNSw2IEBACiAKIG5hbWVzcGFjZSBibWFsbG9jIHsKIAotc3RhdGljIGlubGluZSB2b2lkIHNs
ZWVwKHN0ZDo6dW5pcXVlX2xvY2s8U3RhdGljTXV0ZXg+JiBsb2NrLCBzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzIGR1cmF0aW9uKQotewotICAgIGlmIChkdXJhdGlvbiA9PSBzdGQ6OmNocm9ubzo6
bWlsbGlzZWNvbmRzKDApKQotICAgICAgICByZXR1cm47Ci0gICAgCi0gICAgbG9jay51bmxvY2so
KTsKLSAgICBzdGQ6OnRoaXNfdGhyZWFkOjpzbGVlcF9mb3IoZHVyYXRpb24pOwotICAgIGxvY2su
bG9jaygpOwotfQotCiBIZWFwOjpIZWFwKHN0ZDo6bG9ja19ndWFyZDxTdGF0aWNNdXRleD4mKQog
ICAgIDogbV9sYXJnZU9iamVjdHMoT3duZXI6OkhlYXApCiAgICAgLCBtX2lzQWxsb2NhdGluZ1Bh
Z2VzKGZhbHNlKQpAQCAtOTMsNjIgKzgzLDM5IEBAIHZvaWQgSGVhcDo6Y29uY3VycmVudFNjYXZl
bmdlKCkKICAgICBzdGQ6OnVuaXF1ZV9sb2NrPFN0YXRpY011dGV4PiBsb2NrKFBlclByb2Nlc3M8
SGVhcD46Om11dGV4KCkpOwogICAgIHNjYXZlbmdlKGxvY2ssIHNjYXZlbmdlU2xlZXBEdXJhdGlv
bik7CiB9Ci0gICAgCisKIHZvaWQgSGVhcDo6c2NhdmVuZ2Uoc3RkOjp1bmlxdWVfbG9jazxTdGF0
aWNNdXRleD4mIGxvY2ssIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgc2xlZXBEdXJhdGlvbikK
IHsKKyAgICB3YWl0VW50aWxGYWxzZShsb2NrLCBzbGVlcER1cmF0aW9uLCBtX2lzQWxsb2NhdGlu
Z1BhZ2VzKTsKKwogICAgIHNjYXZlbmdlU21hbGxQYWdlcyhsb2NrLCBzbGVlcER1cmF0aW9uKTsK
ICAgICBzY2F2ZW5nZU1lZGl1bVBhZ2VzKGxvY2ssIHNsZWVwRHVyYXRpb24pOwotICAgIHNjYXZl
bmdlTGFyZ2VSYW5nZXMobG9jaywgc2xlZXBEdXJhdGlvbik7CisgICAgc2NhdmVuZ2VMYXJnZU9i
amVjdHMobG9jaywgc2xlZXBEdXJhdGlvbik7CiAKICAgICBzbGVlcChsb2NrLCBzbGVlcER1cmF0
aW9uKTsKIH0KIAogdm9pZCBIZWFwOjpzY2F2ZW5nZVNtYWxsUGFnZXMoc3RkOjp1bmlxdWVfbG9j
azxTdGF0aWNNdXRleD4mIGxvY2ssIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgc2xlZXBEdXJh
dGlvbikKIHsKLSAgICB3aGlsZSAoMSkgewotICAgICAgICBpZiAobV9pc0FsbG9jYXRpbmdQYWdl
cykgewotICAgICAgICAgICAgbV9pc0FsbG9jYXRpbmdQYWdlcyA9IGZhbHNlOwotCi0gICAgICAg
ICAgICBzbGVlcChsb2NrLCBzbGVlcER1cmF0aW9uKTsKLSAgICAgICAgICAgIGNvbnRpbnVlOwot
ICAgICAgICB9Ci0KLSAgICAgICAgaWYgKCFtX3NtYWxsUGFnZXMuc2l6ZSgpKQotICAgICAgICAg
ICAgcmV0dXJuOworICAgIHdoaWxlIChtX3NtYWxsUGFnZXMuc2l6ZSgpKSB7CiAgICAgICAgIG1f
dm1IZWFwLmRlYWxsb2NhdGVTbWFsbFBhZ2UobG9jaywgbV9zbWFsbFBhZ2VzLnBvcCgpKTsKKyAg
ICAgICAgd2FpdFVudGlsRmFsc2UobG9jaywgc2xlZXBEdXJhdGlvbiwgbV9pc0FsbG9jYXRpbmdQ
YWdlcyk7CiAgICAgfQogfQogCiB2b2lkIEhlYXA6OnNjYXZlbmdlTWVkaXVtUGFnZXMoc3RkOjp1
bmlxdWVfbG9jazxTdGF0aWNNdXRleD4mIGxvY2ssIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMg
c2xlZXBEdXJhdGlvbikKIHsKLSAgICB3aGlsZSAoMSkgewotICAgICAgICBpZiAobV9pc0FsbG9j
YXRpbmdQYWdlcykgewotICAgICAgICAgICAgbV9pc0FsbG9jYXRpbmdQYWdlcyA9IGZhbHNlOwot
Ci0gICAgICAgICAgICBzbGVlcChsb2NrLCBzbGVlcER1cmF0aW9uKTsKLSAgICAgICAgICAgIGNv
bnRpbnVlOwotICAgICAgICB9Ci0KLSAgICAgICAgaWYgKCFtX21lZGl1bVBhZ2VzLnNpemUoKSkK
LSAgICAgICAgICAgIHJldHVybjsKKyAgICB3aGlsZSAobV9tZWRpdW1QYWdlcy5zaXplKCkpIHsK
ICAgICAgICAgbV92bUhlYXAuZGVhbGxvY2F0ZU1lZGl1bVBhZ2UobG9jaywgbV9tZWRpdW1QYWdl
cy5wb3AoKSk7CisgICAgICAgIHdhaXRVbnRpbEZhbHNlKGxvY2ssIHNsZWVwRHVyYXRpb24sIG1f
aXNBbGxvY2F0aW5nUGFnZXMpOwogICAgIH0KIH0KIAotdm9pZCBIZWFwOjpzY2F2ZW5nZUxhcmdl
UmFuZ2VzKHN0ZDo6dW5pcXVlX2xvY2s8U3RhdGljTXV0ZXg+JiBsb2NrLCBzdGQ6OmNocm9ubzo6
bWlsbGlzZWNvbmRzIHNsZWVwRHVyYXRpb24pCit2b2lkIEhlYXA6OnNjYXZlbmdlTGFyZ2VPYmpl
Y3RzKHN0ZDo6dW5pcXVlX2xvY2s8U3RhdGljTXV0ZXg+JiBsb2NrLCBzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzIHNsZWVwRHVyYXRpb24pCiB7Ci0gICAgd2hpbGUgKDEpIHsKLSAgICAgICAgaWYg
KG1faXNBbGxvY2F0aW5nUGFnZXMpIHsKLSAgICAgICAgICAgIG1faXNBbGxvY2F0aW5nUGFnZXMg
PSBmYWxzZTsKLQotICAgICAgICAgICAgc2xlZXAobG9jaywgc2xlZXBEdXJhdGlvbik7Ci0gICAg
ICAgICAgICBjb250aW51ZTsKLSAgICAgICAgfQotCi0gICAgICAgIExhcmdlT2JqZWN0IGxhcmdl
T2JqZWN0ID0gbV9sYXJnZU9iamVjdHMudGFrZUdyZWVkeSgpOwotICAgICAgICBpZiAoIWxhcmdl
T2JqZWN0KQotICAgICAgICAgICAgcmV0dXJuOworICAgIHdoaWxlIChMYXJnZU9iamVjdCBsYXJn
ZU9iamVjdCA9IG1fbGFyZ2VPYmplY3RzLnRha2VHcmVlZHkoKSkgewogICAgICAgICBtX3ZtSGVh
cC5kZWFsbG9jYXRlTGFyZ2VPYmplY3QobG9jaywgbGFyZ2VPYmplY3QpOworICAgICAgICB3YWl0
VW50aWxGYWxzZShsb2NrLCBzbGVlcER1cmF0aW9uLCBtX2lzQWxsb2NhdGluZ1BhZ2VzKTsKICAg
ICB9CiB9CiAKQEAgLTIzNSwxMiArMjAyLDEyIEBAIFNtYWxsUGFnZSogSGVhcDo6YWxsb2NhdGVT
bWFsbFBhZ2Uoc3RkOjoKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICByZXR1cm4gcGFn
ZTsKICAgICB9Ci0gICAgCi0gICAgbV9pc0FsbG9jYXRpbmdQYWdlcyA9IHRydWU7CiAKICAgICBT
bWFsbFBhZ2UqIHBhZ2UgPSBbdGhpcywgc2l6ZUNsYXNzXSgpIHsKICAgICAgICAgaWYgKG1fc21h
bGxQYWdlcy5zaXplKCkpCiAgICAgICAgICAgICByZXR1cm4gbV9zbWFsbFBhZ2VzLnBvcCgpOwor
CisgICAgICAgIG1faXNBbGxvY2F0aW5nUGFnZXMgPSB0cnVlOwogICAgICAgICByZXR1cm4gbV92
bUhlYXAuYWxsb2NhdGVTbWFsbFBhZ2UoKTsKICAgICB9KCk7CiAKQEAgLTI1NywxMiArMjI0LDEy
IEBAIE1lZGl1bVBhZ2UqIEhlYXA6OmFsbG9jYXRlTWVkaXVtUGFnZShzdGQKICAgICAgICAgICAg
IGNvbnRpbnVlOwogICAgICAgICByZXR1cm4gcGFnZTsKICAgICB9Ci0gICAgCi0gICAgbV9pc0Fs
bG9jYXRpbmdQYWdlcyA9IHRydWU7CiAKICAgICBNZWRpdW1QYWdlKiBwYWdlID0gW3RoaXMsIHNp
emVDbGFzc10oKSB7CiAgICAgICAgIGlmIChtX21lZGl1bVBhZ2VzLnNpemUoKSkKICAgICAgICAg
ICAgIHJldHVybiBtX21lZGl1bVBhZ2VzLnBvcCgpOworCisgICAgICAgIG1faXNBbGxvY2F0aW5n
UGFnZXMgPSB0cnVlOwogICAgICAgICByZXR1cm4gbV92bUhlYXAuYWxsb2NhdGVNZWRpdW1QYWdl
KCk7CiAgICAgfSgpOwogCkBAIC0zMjAsOCArMjg3LDYgQEAgdm9pZCogSGVhcDo6YWxsb2NhdGVY
TGFyZ2Uoc3RkOjpsb2NrX2d1YQogICAgIEJBU1NFUlQoYWxpZ25tZW50ID49IHhMYXJnZUFsaWdu
bWVudCk7CiAgICAgQkFTU0VSVChzaXplID09IHJvdW5kVXBUb011bHRpcGxlT2Y8eExhcmdlQWxp
Z25tZW50PihzaXplKSk7CiAKLSAgICBtX2lzQWxsb2NhdGluZ1BhZ2VzID0gdHJ1ZTsKLQogICAg
IHZvaWQqIHJlc3VsdCA9IHZtQWxsb2NhdGUoYWxpZ25tZW50LCBzaXplKTsKICAgICBtX3hMYXJn
ZU9iamVjdHMucHVzaChSYW5nZShyZXN1bHQsIHNpemUpKTsKICAgICByZXR1cm4gcmVzdWx0OwpA
QCAtMzc5LDExICszNDQsMTEgQEAgdm9pZCogSGVhcDo6YWxsb2NhdGVMYXJnZShzdGQ6OmxvY2tf
Z3VhcgogICAgIEJBU1NFUlQoc2l6ZSA+PSBsYXJnZU1pbik7CiAgICAgQkFTU0VSVChzaXplID09
IHJvdW5kVXBUb011bHRpcGxlT2Y8bGFyZ2VBbGlnbm1lbnQ+KHNpemUpKTsKICAgICAKLSAgICBt
X2lzQWxsb2NhdGluZ1BhZ2VzID0gdHJ1ZTsKLQogICAgIExhcmdlT2JqZWN0IGxhcmdlT2JqZWN0
ID0gbV9sYXJnZU9iamVjdHMudGFrZShzaXplKTsKLSAgICBpZiAoIWxhcmdlT2JqZWN0KQorICAg
IGlmICghbGFyZ2VPYmplY3QpIHsKKyAgICAgICAgbV9pc0FsbG9jYXRpbmdQYWdlcyA9IHRydWU7
CiAgICAgICAgIGxhcmdlT2JqZWN0ID0gbV92bUhlYXAuYWxsb2NhdGVMYXJnZU9iamVjdChzaXpl
KTsKKyAgICB9CiAKICAgICByZXR1cm4gYWxsb2NhdGVMYXJnZShsb2NrLCBsYXJnZU9iamVjdCwg
c2l6ZSk7CiB9CkBAIC00MDAsMTEgKzM2NSwxMSBAQCB2b2lkKiBIZWFwOjphbGxvY2F0ZUxhcmdl
KHN0ZDo6bG9ja19ndWFyCiAgICAgQkFTU0VSVChhbGlnbm1lbnQgPj0gbGFyZ2VBbGlnbm1lbnQp
OwogICAgIEJBU1NFUlQoaXNQb3dlck9mVHdvKGFsaWdubWVudCkpOwogCi0gICAgbV9pc0FsbG9j
YXRpbmdQYWdlcyA9IHRydWU7Ci0KICAgICBMYXJnZU9iamVjdCBsYXJnZU9iamVjdCA9IG1fbGFy
Z2VPYmplY3RzLnRha2UoYWxpZ25tZW50LCBzaXplLCB1bmFsaWduZWRTaXplKTsKLSAgICBpZiAo
IWxhcmdlT2JqZWN0KQorICAgIGlmICghbGFyZ2VPYmplY3QpIHsKKyAgICAgICAgbV9pc0FsbG9j
YXRpbmdQYWdlcyA9IHRydWU7CiAgICAgICAgIGxhcmdlT2JqZWN0ID0gbV92bUhlYXAuYWxsb2Nh
dGVMYXJnZU9iamVjdChhbGlnbm1lbnQsIHNpemUsIHVuYWxpZ25lZFNpemUpOworICAgIH0KIAog
ICAgIHNpemVfdCBhbGlnbm1lbnRNYXNrID0gYWxpZ25tZW50IC0gMTsKICAgICBpZiAodGVzdChs
YXJnZU9iamVjdC5iZWdpbigpLCBhbGlnbm1lbnRNYXNrKSkgewpJbmRleDogU291cmNlL2JtYWxs
b2MvYm1hbGxvYy9IZWFwLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL2JtYWxsb2MvYm1hbGxvYy9I
ZWFwLmgJKHJldmlzaW9uIDE4MDkyMCkKKysrIFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvSGVhcC5o
CSh3b3JraW5nIGNvcHkpCkBAIC05Miw3ICs5Miw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjb25j
dXJyZW50U2NhdmVuZ2UoKTsKICAgICB2b2lkIHNjYXZlbmdlU21hbGxQYWdlcyhzdGQ6OnVuaXF1
ZV9sb2NrPFN0YXRpY011dGV4PiYsIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMpOwogICAgIHZv
aWQgc2NhdmVuZ2VNZWRpdW1QYWdlcyhzdGQ6OnVuaXF1ZV9sb2NrPFN0YXRpY011dGV4PiYsIHN0
ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMpOwotICAgIHZvaWQgc2NhdmVuZ2VMYXJnZVJhbmdlcyhz
dGQ6OnVuaXF1ZV9sb2NrPFN0YXRpY011dGV4PiYsIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMp
OworICAgIHZvaWQgc2NhdmVuZ2VMYXJnZU9iamVjdHMoc3RkOjp1bmlxdWVfbG9jazxTdGF0aWNN
dXRleD4mLCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKTsKIAogICAgIHN0ZDo6YXJyYXk8c3Rk
OjphcnJheTxMaW5lTWV0YWRhdGEsIFNtYWxsUGFnZTo6bGluZUNvdW50Piwgc21hbGxNYXggLyBh
bGlnbm1lbnQ+IG1fc21hbGxMaW5lTWV0YWRhdGE7CiAgICAgc3RkOjphcnJheTxzdGQ6OmFycmF5
PExpbmVNZXRhZGF0YSwgTWVkaXVtUGFnZTo6bGluZUNvdW50PiwgbWVkaXVtTWF4IC8gYWxpZ25t
ZW50PiBtX21lZGl1bUxpbmVNZXRhZGF0YTsKSW5kZXg6IFNvdXJjZS9ibWFsbG9jL2JtYWxsb2Mv
TGFyZ2VPYmplY3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0xhcmdl
T2JqZWN0LmgJKHJldmlzaW9uIDE4MDkyMCkKKysrIFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvTGFy
Z2VPYmplY3QuaAkod29ya2luZyBjb3B5KQpAQCAtNDMsNiArNDMsNyBAQCBwdWJsaWM6CiAgICAg
ZW51bSBEb05vdFZhbGlkYXRlVGFnIHsgRG9Ob3RWYWxpZGF0ZSB9OwogICAgIExhcmdlT2JqZWN0
KERvTm90VmFsaWRhdGVUYWcsIHZvaWQqKTsKICAgICAKKyAgICBvcGVyYXRvciBib29sKCkgeyBy
ZXR1cm4gISEqdGhpczsgfQogICAgIGJvb2wgb3BlcmF0b3IhKCkgeyByZXR1cm4gIW1fb2JqZWN0
OyB9CiAKICAgICBjaGFyKiBiZWdpbigpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PGNoYXIq
PihtX29iamVjdCk7IH0KSW5kZXg6IFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvU3RhdGljTXV0ZXgu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1N0YXRpY011dGV4LmgJKHJl
dmlzaW9uIDE4MDkyMCkKKysrIFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvU3RhdGljTXV0ZXguaAko
d29ya2luZyBjb3B5KQpAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSAiQkFzc2VydC5oIgog
I2luY2x1ZGUgPGF0b21pYz4KKyNpbmNsdWRlIDx0aHJlYWQ+CiAKIC8vIEEgZmFzdCByZXBsYWNl
bWVudCBmb3Igc3RkOjptdXRleCwgZm9yIHVzZSBpbiBzdGF0aWMgc3RvcmFnZS4KIApAQCAtNTIs
NiArNTMsMjcgQEAgcHJpdmF0ZToKICAgICBzdGQ6OmF0b21pY19mbGFnIG1fZmxhZzsKIH07CiAK
K3N0YXRpYyBpbmxpbmUgdm9pZCBzbGVlcCgKKyAgICBzdGQ6OnVuaXF1ZV9sb2NrPFN0YXRpY011
dGV4PiYgbG9jaywgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBkdXJhdGlvbikKK3sKKyAgICBp
ZiAoZHVyYXRpb24gPT0gc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcygwKSkKKyAgICAgICAgcmV0
dXJuOworICAgIAorICAgIGxvY2sudW5sb2NrKCk7CisgICAgc3RkOjp0aGlzX3RocmVhZDo6c2xl
ZXBfZm9yKGR1cmF0aW9uKTsKKyAgICBsb2NrLmxvY2soKTsKK30KKworc3RhdGljIGlubGluZSB2
b2lkIHdhaXRVbnRpbEZhbHNlKAorICAgIHN0ZDo6dW5pcXVlX2xvY2s8U3RhdGljTXV0ZXg+JiBs
b2NrLCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHNsZWVwRHVyYXRpb24sCisgICAgYm9vbCYg
Y29uZGl0aW9uKQoreworICAgIHdoaWxlIChjb25kaXRpb24pIHsKKyAgICAgICAgY29uZGl0aW9u
ID0gZmFsc2U7CisgICAgICAgIHNsZWVwKGxvY2ssIHNsZWVwRHVyYXRpb24pOworICAgIH0KK30K
KwogaW5saW5lIHZvaWQgU3RhdGljTXV0ZXg6OmluaXQoKQogewogICAgIG1fZmxhZy5jbGVhcigp
OwpJbmRleDogU291cmNlL2JtYWxsb2MvYm1hbGxvYy9WZWN0b3IuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvYm1hbGxvYy9ibWFsbG9jL1ZlY3Rvci5oCShyZXZpc2lvbiAxODA5MjApCisrKyBTb3Vy
Y2UvYm1hbGxvYy9ibWFsbG9jL1ZlY3Rvci5oCSh3b3JraW5nIGNvcHkpCkBAIC04OCw3ICs4OCw4
IEBAIGlubGluZSBWZWN0b3I8VD46OlZlY3RvcigpCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgogVmVj
dG9yPFQ+Ojp+VmVjdG9yKCkKIHsKLSAgICB2bURlYWxsb2NhdGUobV9idWZmZXIsIHZtU2l6ZSht
X2NhcGFjaXR5ICogc2l6ZW9mKFQpKSk7CisgICAgaWYgKG1fYnVmZmVyKQorICAgICAgICB2bURl
YWxsb2NhdGUobV9idWZmZXIsIHZtU2l6ZShtX2NhcGFjaXR5ICogc2l6ZW9mKFQpKSk7CiB9CiAK
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>247780</attachid>
            <date>2015-03-03 12:34:34 -0800</date>
            <delta_ts>2015-03-03 13:13:36 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-142231-20150303123416.patch</filename>
            <type>text/plain</type>
            <size>10300</size>
            <attacher name="Geoffrey Garen">ggaren</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9ibWFsbG9jL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvYm1h
bGxvYy9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4MDk1MCkKKysrIFNvdXJjZS9ibWFsbG9jL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDUyIEBACisyMDE1LTAzLTAzICBHZW9mZnJl
eSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CisKKyAgICAgICAgYm1hbGxvYzogTWlzY2VsbGFu
ZW91cyBjbGVhbnVwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNDIyMzEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBObyBwZXJmb3JtYW5jZSBjaGFuZ2UgLS0gbWF5YmUgYSB0aW55IHJlZHVjdGlvbiBpbiBt
ZW1vcnkgdXNlLgorCisgICAgICAgICogYm1hbGxvYy9IZWFwLmNwcDogTW92ZWQgdGhlIHNsZWVw
IGZ1bmN0aW9uIGludG8gU3RhdGljTXV0ZXgsIHNpbmNlCisgICAgICAgIGl0J3MgYSBoZWxwZXIg
Zm9yIHdvcmtpbmcgd2l0aCBtdXRleGVzLgorCisgICAgICAgIChibWFsbG9jOjpIZWFwOjpzY2F2
ZW5nZSk6IE1ha2Ugc3VyZSB0byB3YWl0IGJlZm9yZSB3ZSBzdGFydCBhbnkKKyAgICAgICAgc2Nh
dmVuZ2luZywgc2luY2UgaW5kaXZpZHVhbCBzY2F2ZW5naW5nIGZ1bmN0aW9ucyBub3cgYWx3YXlz
IHNjYXZlbmdlCisgICAgICAgIGF0IGxlYXN0IG9uZSBwYWdlIGJlZm9yZSB3YWl0aW5nIHRoZW1z
ZWx2ZXMuCisKKyAgICAgICAgKGJtYWxsb2M6OkhlYXA6OnNjYXZlbmdlU21hbGxQYWdlcyk6Cisg
ICAgICAgIChibWFsbG9jOjpIZWFwOjpzY2F2ZW5nZU1lZGl1bVBhZ2VzKToKKyAgICAgICAgKGJt
YWxsb2M6OkhlYXA6OnNjYXZlbmdlTGFyZ2VPYmplY3RzKTogVXNlIHRoZSBuZXcgd2FpdCBoZWxw
ZXIgdG8KKyAgICAgICAgc2ltcGxpZnkgdGhpcyBjb2RlLiBBbHNvLCB3ZSBub3cgcmVxdWlyZSBv
dXIgY2FsbGVyIHRvIHdhaXQgdW50aWwgYXQKKyAgICAgICAgbGVhc3Qgb25lIGRlYWxsb2NhdGlv
biBpcyBkZXNpcmFibGUuIFRoaXMgc2ltcGxpZmllcyBvdXIgbG9vcC4KKworICAgICAgICAoYm1h
bGxvYzo6SGVhcDo6YWxsb2NhdGVTbWFsbFBhZ2UpOgorICAgICAgICAoYm1hbGxvYzo6SGVhcDo6
YWxsb2NhdGVNZWRpdW1QYWdlKToKKyAgICAgICAgKGJtYWxsb2M6OkhlYXA6OmFsbG9jYXRlWExh
cmdlKToKKyAgICAgICAgKGJtYWxsb2M6OkhlYXA6OmFsbG9jYXRlTGFyZ2UpOiBEb24ndCBmcmVh
ayBvdXQgYW55IHRpbWUgdGhlIGhlYXAgZG9lcworICAgICAgICBhbiBhbGxvY2F0aW9uLiBPbmx5
IGNvbnNpZGVyIHRoZSBoZWFwIHRvIGJlIGdyb3dpbmcgaWYgaXQgYWN0dWFsbHkgbmVlZHMKKyAg
ICAgICAgdG8gYWxsb2NhdGUgbmV3IFZNLiBUaGlzIGFsbG93cyB1cyB0byBzaHJpbmsgdGhlIGhl
YXAgYmFjayBkb3duIGZyb20gYQorICAgICAgICBoaWdoIHdhdGVyIG1hcmsgbW9yZSByZWxpYWJs
eSBldmVuIGlmIGhlYXAgYWN0aXZpdHkgY29udGludWVzLgorCisgICAgICAgIChibWFsbG9jOjpz
bGVlcCk6IERlbGV0ZWQuCisgICAgICAgIChibWFsbG9jOjpIZWFwOjpzY2F2ZW5nZUxhcmdlUmFu
Z2VzKTogUmVuYW1lZCB0byBtYXRjaCBvdXIgdXNlIG9mCisgICAgICAgICJMYXJnZU9iamVjdCIu
CisKKyAgICAgICAgKiBibWFsbG9jL0hlYXAuaDoKKworICAgICAgICAqIGJtYWxsb2MvTGFyZ2VP
YmplY3QuaDoKKyAgICAgICAgKGJtYWxsb2M6OkxhcmdlT2JqZWN0OjpvcGVyYXRvciBib29sKTog
QWRkZWQgdG8gc2ltcGxpZnkgYSB3aGlsZSBsb29wLgorCisgICAgICAgICogYm1hbGxvYy9TdGF0
aWNNdXRleC5oOgorICAgICAgICAoYm1hbGxvYzo6c2xlZXApOgorICAgICAgICAoYm1hbGxvYzo6
d2FpdFVudGlsRmFsc2UpOiBOZXcgaGVscGVyIGZvciB3YWl0aW5nIHVudGlsIGEgY29uZGl0aW9u
CisgICAgICAgIGJlY29tZXMgcmVsaWFibHkgZmFsc2UuCisKKyAgICAgICAgKiBibWFsbG9jL1Zl
Y3Rvci5oOgorICAgICAgICAoYm1hbGxvYzo6VmVjdG9yPFQ+Ojp+VmVjdG9yKTogT29wcyEgRG9u
J3QgZGVhbGxvY2F0ZSB0aGUgbnVsbCBwb2ludGVyLgorICAgICAgICBXZSBkb24ndCBhY3R1YWxs
eSBydW4gYW55IFZlY3RvciBkZXN0cnVjdG9ycywgYnV0IGFuIGl0ZXJhdGlvbiBvZiB0aGlzCisg
ICAgICAgIHBhdGNoIGRpZCwgYW5kIHRoZW4gY3Jhc2hlZC4gU28sIGxldCdzIGZpeCB0aGF0Lgor
CiAyMDE1LTAzLTAyICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgYm1hbGxvYzogRWFnZXJseSByZW1vdmUgYWxsb2NhdGVkIG9iamVjdHMgZnJvbSB0aGUgZnJl
ZSBsaXN0CkluZGV4OiBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0hlYXAuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvSGVhcC5jcHAJKHJldmlzaW9uIDE4MDkyMCkKKysr
IFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvSGVhcC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM1LDE2
ICszNSw2IEBACiAKIG5hbWVzcGFjZSBibWFsbG9jIHsKIAotc3RhdGljIGlubGluZSB2b2lkIHNs
ZWVwKHN0ZDo6dW5pcXVlX2xvY2s8U3RhdGljTXV0ZXg+JiBsb2NrLCBzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzIGR1cmF0aW9uKQotewotICAgIGlmIChkdXJhdGlvbiA9PSBzdGQ6OmNocm9ubzo6
bWlsbGlzZWNvbmRzKDApKQotICAgICAgICByZXR1cm47Ci0gICAgCi0gICAgbG9jay51bmxvY2so
KTsKLSAgICBzdGQ6OnRoaXNfdGhyZWFkOjpzbGVlcF9mb3IoZHVyYXRpb24pOwotICAgIGxvY2su
bG9jaygpOwotfQotCiBIZWFwOjpIZWFwKHN0ZDo6bG9ja19ndWFyZDxTdGF0aWNNdXRleD4mKQog
ICAgIDogbV9sYXJnZU9iamVjdHMoT3duZXI6OkhlYXApCiAgICAgLCBtX2lzQWxsb2NhdGluZ1Bh
Z2VzKGZhbHNlKQpAQCAtOTMsNjIgKzgzLDM5IEBAIHZvaWQgSGVhcDo6Y29uY3VycmVudFNjYXZl
bmdlKCkKICAgICBzdGQ6OnVuaXF1ZV9sb2NrPFN0YXRpY011dGV4PiBsb2NrKFBlclByb2Nlc3M8
SGVhcD46Om11dGV4KCkpOwogICAgIHNjYXZlbmdlKGxvY2ssIHNjYXZlbmdlU2xlZXBEdXJhdGlv
bik7CiB9Ci0gICAgCisKIHZvaWQgSGVhcDo6c2NhdmVuZ2Uoc3RkOjp1bmlxdWVfbG9jazxTdGF0
aWNNdXRleD4mIGxvY2ssIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgc2xlZXBEdXJhdGlvbikK
IHsKKyAgICB3YWl0VW50aWxGYWxzZShsb2NrLCBzbGVlcER1cmF0aW9uLCBtX2lzQWxsb2NhdGlu
Z1BhZ2VzKTsKKwogICAgIHNjYXZlbmdlU21hbGxQYWdlcyhsb2NrLCBzbGVlcER1cmF0aW9uKTsK
ICAgICBzY2F2ZW5nZU1lZGl1bVBhZ2VzKGxvY2ssIHNsZWVwRHVyYXRpb24pOwotICAgIHNjYXZl
bmdlTGFyZ2VSYW5nZXMobG9jaywgc2xlZXBEdXJhdGlvbik7CisgICAgc2NhdmVuZ2VMYXJnZU9i
amVjdHMobG9jaywgc2xlZXBEdXJhdGlvbik7CiAKICAgICBzbGVlcChsb2NrLCBzbGVlcER1cmF0
aW9uKTsKIH0KIAogdm9pZCBIZWFwOjpzY2F2ZW5nZVNtYWxsUGFnZXMoc3RkOjp1bmlxdWVfbG9j
azxTdGF0aWNNdXRleD4mIGxvY2ssIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMgc2xlZXBEdXJh
dGlvbikKIHsKLSAgICB3aGlsZSAoMSkgewotICAgICAgICBpZiAobV9pc0FsbG9jYXRpbmdQYWdl
cykgewotICAgICAgICAgICAgbV9pc0FsbG9jYXRpbmdQYWdlcyA9IGZhbHNlOwotCi0gICAgICAg
ICAgICBzbGVlcChsb2NrLCBzbGVlcER1cmF0aW9uKTsKLSAgICAgICAgICAgIGNvbnRpbnVlOwot
ICAgICAgICB9Ci0KLSAgICAgICAgaWYgKCFtX3NtYWxsUGFnZXMuc2l6ZSgpKQotICAgICAgICAg
ICAgcmV0dXJuOworICAgIHdoaWxlIChtX3NtYWxsUGFnZXMuc2l6ZSgpKSB7CiAgICAgICAgIG1f
dm1IZWFwLmRlYWxsb2NhdGVTbWFsbFBhZ2UobG9jaywgbV9zbWFsbFBhZ2VzLnBvcCgpKTsKKyAg
ICAgICAgd2FpdFVudGlsRmFsc2UobG9jaywgc2xlZXBEdXJhdGlvbiwgbV9pc0FsbG9jYXRpbmdQ
YWdlcyk7CiAgICAgfQogfQogCiB2b2lkIEhlYXA6OnNjYXZlbmdlTWVkaXVtUGFnZXMoc3RkOjp1
bmlxdWVfbG9jazxTdGF0aWNNdXRleD4mIGxvY2ssIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMg
c2xlZXBEdXJhdGlvbikKIHsKLSAgICB3aGlsZSAoMSkgewotICAgICAgICBpZiAobV9pc0FsbG9j
YXRpbmdQYWdlcykgewotICAgICAgICAgICAgbV9pc0FsbG9jYXRpbmdQYWdlcyA9IGZhbHNlOwot
Ci0gICAgICAgICAgICBzbGVlcChsb2NrLCBzbGVlcER1cmF0aW9uKTsKLSAgICAgICAgICAgIGNv
bnRpbnVlOwotICAgICAgICB9Ci0KLSAgICAgICAgaWYgKCFtX21lZGl1bVBhZ2VzLnNpemUoKSkK
LSAgICAgICAgICAgIHJldHVybjsKKyAgICB3aGlsZSAobV9tZWRpdW1QYWdlcy5zaXplKCkpIHsK
ICAgICAgICAgbV92bUhlYXAuZGVhbGxvY2F0ZU1lZGl1bVBhZ2UobG9jaywgbV9tZWRpdW1QYWdl
cy5wb3AoKSk7CisgICAgICAgIHdhaXRVbnRpbEZhbHNlKGxvY2ssIHNsZWVwRHVyYXRpb24sIG1f
aXNBbGxvY2F0aW5nUGFnZXMpOwogICAgIH0KIH0KIAotdm9pZCBIZWFwOjpzY2F2ZW5nZUxhcmdl
UmFuZ2VzKHN0ZDo6dW5pcXVlX2xvY2s8U3RhdGljTXV0ZXg+JiBsb2NrLCBzdGQ6OmNocm9ubzo6
bWlsbGlzZWNvbmRzIHNsZWVwRHVyYXRpb24pCit2b2lkIEhlYXA6OnNjYXZlbmdlTGFyZ2VPYmpl
Y3RzKHN0ZDo6dW5pcXVlX2xvY2s8U3RhdGljTXV0ZXg+JiBsb2NrLCBzdGQ6OmNocm9ubzo6bWls
bGlzZWNvbmRzIHNsZWVwRHVyYXRpb24pCiB7Ci0gICAgd2hpbGUgKDEpIHsKLSAgICAgICAgaWYg
KG1faXNBbGxvY2F0aW5nUGFnZXMpIHsKLSAgICAgICAgICAgIG1faXNBbGxvY2F0aW5nUGFnZXMg
PSBmYWxzZTsKLQotICAgICAgICAgICAgc2xlZXAobG9jaywgc2xlZXBEdXJhdGlvbik7Ci0gICAg
ICAgICAgICBjb250aW51ZTsKLSAgICAgICAgfQotCi0gICAgICAgIExhcmdlT2JqZWN0IGxhcmdl
T2JqZWN0ID0gbV9sYXJnZU9iamVjdHMudGFrZUdyZWVkeSgpOwotICAgICAgICBpZiAoIWxhcmdl
T2JqZWN0KQotICAgICAgICAgICAgcmV0dXJuOworICAgIHdoaWxlIChMYXJnZU9iamVjdCBsYXJn
ZU9iamVjdCA9IG1fbGFyZ2VPYmplY3RzLnRha2VHcmVlZHkoKSkgewogICAgICAgICBtX3ZtSGVh
cC5kZWFsbG9jYXRlTGFyZ2VPYmplY3QobG9jaywgbGFyZ2VPYmplY3QpOworICAgICAgICB3YWl0
VW50aWxGYWxzZShsb2NrLCBzbGVlcER1cmF0aW9uLCBtX2lzQWxsb2NhdGluZ1BhZ2VzKTsKICAg
ICB9CiB9CiAKQEAgLTIzNSwxMiArMjAyLDEyIEBAIFNtYWxsUGFnZSogSGVhcDo6YWxsb2NhdGVT
bWFsbFBhZ2Uoc3RkOjoKICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICByZXR1cm4gcGFn
ZTsKICAgICB9Ci0gICAgCi0gICAgbV9pc0FsbG9jYXRpbmdQYWdlcyA9IHRydWU7CiAKICAgICBT
bWFsbFBhZ2UqIHBhZ2UgPSBbdGhpcywgc2l6ZUNsYXNzXSgpIHsKICAgICAgICAgaWYgKG1fc21h
bGxQYWdlcy5zaXplKCkpCiAgICAgICAgICAgICByZXR1cm4gbV9zbWFsbFBhZ2VzLnBvcCgpOwor
CisgICAgICAgIG1faXNBbGxvY2F0aW5nUGFnZXMgPSB0cnVlOwogICAgICAgICByZXR1cm4gbV92
bUhlYXAuYWxsb2NhdGVTbWFsbFBhZ2UoKTsKICAgICB9KCk7CiAKQEAgLTI1NywxMiArMjI0LDEy
IEBAIE1lZGl1bVBhZ2UqIEhlYXA6OmFsbG9jYXRlTWVkaXVtUGFnZShzdGQKICAgICAgICAgICAg
IGNvbnRpbnVlOwogICAgICAgICByZXR1cm4gcGFnZTsKICAgICB9Ci0gICAgCi0gICAgbV9pc0Fs
bG9jYXRpbmdQYWdlcyA9IHRydWU7CiAKICAgICBNZWRpdW1QYWdlKiBwYWdlID0gW3RoaXMsIHNp
emVDbGFzc10oKSB7CiAgICAgICAgIGlmIChtX21lZGl1bVBhZ2VzLnNpemUoKSkKICAgICAgICAg
ICAgIHJldHVybiBtX21lZGl1bVBhZ2VzLnBvcCgpOworCisgICAgICAgIG1faXNBbGxvY2F0aW5n
UGFnZXMgPSB0cnVlOwogICAgICAgICByZXR1cm4gbV92bUhlYXAuYWxsb2NhdGVNZWRpdW1QYWdl
KCk7CiAgICAgfSgpOwogCkBAIC0zMjAsOCArMjg3LDYgQEAgdm9pZCogSGVhcDo6YWxsb2NhdGVY
TGFyZ2Uoc3RkOjpsb2NrX2d1YQogICAgIEJBU1NFUlQoYWxpZ25tZW50ID49IHhMYXJnZUFsaWdu
bWVudCk7CiAgICAgQkFTU0VSVChzaXplID09IHJvdW5kVXBUb011bHRpcGxlT2Y8eExhcmdlQWxp
Z25tZW50PihzaXplKSk7CiAKLSAgICBtX2lzQWxsb2NhdGluZ1BhZ2VzID0gdHJ1ZTsKLQogICAg
IHZvaWQqIHJlc3VsdCA9IHZtQWxsb2NhdGUoYWxpZ25tZW50LCBzaXplKTsKICAgICBtX3hMYXJn
ZU9iamVjdHMucHVzaChSYW5nZShyZXN1bHQsIHNpemUpKTsKICAgICByZXR1cm4gcmVzdWx0OwpA
QCAtMzc5LDExICszNDQsMTEgQEAgdm9pZCogSGVhcDo6YWxsb2NhdGVMYXJnZShzdGQ6OmxvY2tf
Z3VhcgogICAgIEJBU1NFUlQoc2l6ZSA+PSBsYXJnZU1pbik7CiAgICAgQkFTU0VSVChzaXplID09
IHJvdW5kVXBUb011bHRpcGxlT2Y8bGFyZ2VBbGlnbm1lbnQ+KHNpemUpKTsKICAgICAKLSAgICBt
X2lzQWxsb2NhdGluZ1BhZ2VzID0gdHJ1ZTsKLQogICAgIExhcmdlT2JqZWN0IGxhcmdlT2JqZWN0
ID0gbV9sYXJnZU9iamVjdHMudGFrZShzaXplKTsKLSAgICBpZiAoIWxhcmdlT2JqZWN0KQorICAg
IGlmICghbGFyZ2VPYmplY3QpIHsKKyAgICAgICAgbV9pc0FsbG9jYXRpbmdQYWdlcyA9IHRydWU7
CiAgICAgICAgIGxhcmdlT2JqZWN0ID0gbV92bUhlYXAuYWxsb2NhdGVMYXJnZU9iamVjdChzaXpl
KTsKKyAgICB9CiAKICAgICByZXR1cm4gYWxsb2NhdGVMYXJnZShsb2NrLCBsYXJnZU9iamVjdCwg
c2l6ZSk7CiB9CkBAIC00MDAsMTEgKzM2NSwxMSBAQCB2b2lkKiBIZWFwOjphbGxvY2F0ZUxhcmdl
KHN0ZDo6bG9ja19ndWFyCiAgICAgQkFTU0VSVChhbGlnbm1lbnQgPj0gbGFyZ2VBbGlnbm1lbnQp
OwogICAgIEJBU1NFUlQoaXNQb3dlck9mVHdvKGFsaWdubWVudCkpOwogCi0gICAgbV9pc0FsbG9j
YXRpbmdQYWdlcyA9IHRydWU7Ci0KICAgICBMYXJnZU9iamVjdCBsYXJnZU9iamVjdCA9IG1fbGFy
Z2VPYmplY3RzLnRha2UoYWxpZ25tZW50LCBzaXplLCB1bmFsaWduZWRTaXplKTsKLSAgICBpZiAo
IWxhcmdlT2JqZWN0KQorICAgIGlmICghbGFyZ2VPYmplY3QpIHsKKyAgICAgICAgbV9pc0FsbG9j
YXRpbmdQYWdlcyA9IHRydWU7CiAgICAgICAgIGxhcmdlT2JqZWN0ID0gbV92bUhlYXAuYWxsb2Nh
dGVMYXJnZU9iamVjdChhbGlnbm1lbnQsIHNpemUsIHVuYWxpZ25lZFNpemUpOworICAgIH0KIAog
ICAgIHNpemVfdCBhbGlnbm1lbnRNYXNrID0gYWxpZ25tZW50IC0gMTsKICAgICBpZiAodGVzdChs
YXJnZU9iamVjdC5iZWdpbigpLCBhbGlnbm1lbnRNYXNrKSkgewpJbmRleDogU291cmNlL2JtYWxs
b2MvYm1hbGxvYy9IZWFwLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL2JtYWxsb2MvYm1hbGxvYy9I
ZWFwLmgJKHJldmlzaW9uIDE4MDkyMCkKKysrIFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvSGVhcC5o
CSh3b3JraW5nIGNvcHkpCkBAIC05Miw3ICs5Miw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjb25j
dXJyZW50U2NhdmVuZ2UoKTsKICAgICB2b2lkIHNjYXZlbmdlU21hbGxQYWdlcyhzdGQ6OnVuaXF1
ZV9sb2NrPFN0YXRpY011dGV4PiYsIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMpOwogICAgIHZv
aWQgc2NhdmVuZ2VNZWRpdW1QYWdlcyhzdGQ6OnVuaXF1ZV9sb2NrPFN0YXRpY011dGV4PiYsIHN0
ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMpOwotICAgIHZvaWQgc2NhdmVuZ2VMYXJnZVJhbmdlcyhz
dGQ6OnVuaXF1ZV9sb2NrPFN0YXRpY011dGV4PiYsIHN0ZDo6Y2hyb25vOjptaWxsaXNlY29uZHMp
OworICAgIHZvaWQgc2NhdmVuZ2VMYXJnZU9iamVjdHMoc3RkOjp1bmlxdWVfbG9jazxTdGF0aWNN
dXRleD4mLCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzKTsKIAogICAgIHN0ZDo6YXJyYXk8c3Rk
OjphcnJheTxMaW5lTWV0YWRhdGEsIFNtYWxsUGFnZTo6bGluZUNvdW50Piwgc21hbGxNYXggLyBh
bGlnbm1lbnQ+IG1fc21hbGxMaW5lTWV0YWRhdGE7CiAgICAgc3RkOjphcnJheTxzdGQ6OmFycmF5
PExpbmVNZXRhZGF0YSwgTWVkaXVtUGFnZTo6bGluZUNvdW50PiwgbWVkaXVtTWF4IC8gYWxpZ25t
ZW50PiBtX21lZGl1bUxpbmVNZXRhZGF0YTsKSW5kZXg6IFNvdXJjZS9ibWFsbG9jL2JtYWxsb2Mv
TGFyZ2VPYmplY3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL0xhcmdl
T2JqZWN0LmgJKHJldmlzaW9uIDE4MDkyMCkKKysrIFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvTGFy
Z2VPYmplY3QuaAkod29ya2luZyBjb3B5KQpAQCAtNDMsNiArNDMsNyBAQCBwdWJsaWM6CiAgICAg
ZW51bSBEb05vdFZhbGlkYXRlVGFnIHsgRG9Ob3RWYWxpZGF0ZSB9OwogICAgIExhcmdlT2JqZWN0
KERvTm90VmFsaWRhdGVUYWcsIHZvaWQqKTsKICAgICAKKyAgICBvcGVyYXRvciBib29sKCkgeyBy
ZXR1cm4gISEqdGhpczsgfQogICAgIGJvb2wgb3BlcmF0b3IhKCkgeyByZXR1cm4gIW1fb2JqZWN0
OyB9CiAKICAgICBjaGFyKiBiZWdpbigpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PGNoYXIq
PihtX29iamVjdCk7IH0KSW5kZXg6IFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvU3RhdGljTXV0ZXgu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1N0YXRpY011dGV4LmgJKHJl
dmlzaW9uIDE4MDkyMCkKKysrIFNvdXJjZS9ibWFsbG9jL2JtYWxsb2MvU3RhdGljTXV0ZXguaAko
d29ya2luZyBjb3B5KQpAQCAtMjgsNiArMjgsOCBAQAogCiAjaW5jbHVkZSAiQkFzc2VydC5oIgog
I2luY2x1ZGUgPGF0b21pYz4KKyNpbmNsdWRlIDxtdXRleD4KKyNpbmNsdWRlIDx0aHJlYWQ+CiAK
IC8vIEEgZmFzdCByZXBsYWNlbWVudCBmb3Igc3RkOjptdXRleCwgZm9yIHVzZSBpbiBzdGF0aWMg
c3RvcmFnZS4KIApAQCAtNTIsNiArNTQsMjcgQEAgcHJpdmF0ZToKICAgICBzdGQ6OmF0b21pY19m
bGFnIG1fZmxhZzsKIH07CiAKK3N0YXRpYyBpbmxpbmUgdm9pZCBzbGVlcCgKKyAgICBzdGQ6OnVu
aXF1ZV9sb2NrPFN0YXRpY011dGV4PiYgbG9jaywgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBk
dXJhdGlvbikKK3sKKyAgICBpZiAoZHVyYXRpb24gPT0gc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25k
cygwKSkKKyAgICAgICAgcmV0dXJuOworICAgIAorICAgIGxvY2sudW5sb2NrKCk7CisgICAgc3Rk
Ojp0aGlzX3RocmVhZDo6c2xlZXBfZm9yKGR1cmF0aW9uKTsKKyAgICBsb2NrLmxvY2soKTsKK30K
Kworc3RhdGljIGlubGluZSB2b2lkIHdhaXRVbnRpbEZhbHNlKAorICAgIHN0ZDo6dW5pcXVlX2xv
Y2s8U3RhdGljTXV0ZXg+JiBsb2NrLCBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIHNsZWVwRHVy
YXRpb24sCisgICAgYm9vbCYgY29uZGl0aW9uKQoreworICAgIHdoaWxlIChjb25kaXRpb24pIHsK
KyAgICAgICAgY29uZGl0aW9uID0gZmFsc2U7CisgICAgICAgIHNsZWVwKGxvY2ssIHNsZWVwRHVy
YXRpb24pOworICAgIH0KK30KKwogaW5saW5lIHZvaWQgU3RhdGljTXV0ZXg6OmluaXQoKQogewog
ICAgIG1fZmxhZy5jbGVhcigpOwpJbmRleDogU291cmNlL2JtYWxsb2MvYm1hbGxvYy9WZWN0b3Iu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1ZlY3Rvci5oCShyZXZpc2lv
biAxODA5MjApCisrKyBTb3VyY2UvYm1hbGxvYy9ibWFsbG9jL1ZlY3Rvci5oCSh3b3JraW5nIGNv
cHkpCkBAIC04OCw3ICs4OCw4IEBAIGlubGluZSBWZWN0b3I8VD46OlZlY3RvcigpCiB0ZW1wbGF0
ZTx0eXBlbmFtZSBUPgogVmVjdG9yPFQ+Ojp+VmVjdG9yKCkKIHsKLSAgICB2bURlYWxsb2NhdGUo
bV9idWZmZXIsIHZtU2l6ZShtX2NhcGFjaXR5ICogc2l6ZW9mKFQpKSk7CisgICAgaWYgKG1fYnVm
ZmVyKQorICAgICAgICB2bURlYWxsb2NhdGUobV9idWZmZXIsIHZtU2l6ZShtX2NhcGFjaXR5ICog
c2l6ZW9mKFQpKSk7CiB9CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+Cg==
</data>
<flag name="review"
          id="272694"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>