<?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>134514</bug_id>
          
          <creation_ts>2014-07-01 14:50:25 -0700</creation_ts>
          <short_desc>Debugger&apos;s breakpoint list should not be a Vector</short_desc>
          <delta_ts>2014-07-01 16:43:12 -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>JavaScriptCore</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Lam">mark.lam</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          <cc>bunhere</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>mhahnenberg</cc>
    
    <cc>mmirman</cc>
    
    <cc>msaboff</cc>
    
    <cc>oliver</cc>
    
    <cc>sergio</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1019773</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2014-07-01 14:50:25 -0700</bug_when>
    <thetext>The debugger currently stores breakpoint data as entries in a Vector (see BreakpointsInLine).  It also keeps a fast map look up of breakpoint IDs to the breakpoint data (see m_breakpointIDToBreakpoint).  Because a Vector can compact or reallocate it backing store, this can causes all sorts of havoc.  The m_breakpointIDToBreakpoint assumes that the breakpoint data doesn&apos;t move in memory.

The fix is to replace the BreakpointsInLine Vector with a BreakpointsList doubly linked list.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1019774</commentid>
    <comment_count>1</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2014-07-01 14:51:00 -0700</bug_when>
    <thetext>&lt;rdar://problem/17487061&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1019794</commentid>
    <comment_count>2</comment_count>
      <attachid>234208</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2014-07-01 15:38:59 -0700</bug_when>
    <thetext>Created attachment 234208
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1019798</commentid>
    <comment_count>3</comment_count>
      <attachid>234208</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2014-07-01 15:46:04 -0700</bug_when>
    <thetext>Comment on attachment 234208
the patch

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

r=me

&gt; Source/JavaScriptCore/debugger/Breakpoint.h:56
&gt; +    Breakpoint(Breakpoint&amp; other)

Should be const&amp;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1019801</commentid>
    <comment_count>4</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2014-07-01 15:49:40 -0700</bug_when>
    <thetext>The compiler was complaining about:
Source/JavaScriptCore/debugger/Breakpoint.h:88:27: error: using the result of an assignment as a condition without parentheses [-Werror,-Wparentheses]
        while (breakpoint = removeHead())
               ~~~~~~~~~~~^~~~~~~~~~~~~~

Will add the parens.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1019802</commentid>
    <comment_count>5</comment_count>
      <attachid>234209</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2014-07-01 15:51:28 -0700</bug_when>
    <thetext>Created attachment 234209
updated patch to make the EWS bots happy + Geoff&apos;s suggested fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1019827</commentid>
    <comment_count>6</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2014-07-01 16:43:12 -0700</bug_when>
    <thetext>Thanks.  Patch with fixes land in r170677: &lt;http://trac.webkit.org/r170677&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>234208</attachid>
            <date>2014-07-01 15:38:59 -0700</date>
            <delta_ts>2014-07-01 15:51:28 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>bug-134514.patch</filename>
            <type>text/plain</type>
            <size>9711</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTcwNjcxKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI5IEBA
CisyMDE0LTA3LTAxICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBE
ZWJ1Z2dlcidzIGJyZWFrcG9pbnQgbGlzdCBzaG91bGQgbm90IGJlIGEgVmVjdG9yLgorICAgICAg
ICA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTM0NTE0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBkZWJ1Z2dlciBjdXJyZW50bHkgc3RvcmVzIGJy
ZWFrcG9pbnQgZGF0YSBhcyBlbnRyaWVzIGluIGEgVmVjdG9yIChzZWUKKyAgICAgICAgQnJlYWtw
b2ludHNJbkxpbmUpLiAgSXQgYWxzbyBrZWVwcyBhIGZhc3QgbWFwIGxvb2sgdXAgb2YgYnJlYWtw
b2ludCBJRHMgdG8KKyAgICAgICAgdGhlIGJyZWFrcG9pbnQgZGF0YSAoc2VlIG1fYnJlYWtwb2lu
dElEVG9CcmVha3BvaW50KS4gIEJlY2F1c2UgYSBWZWN0b3IgY2FuCisgICAgICAgIGNvbXBhY3Qg
b3IgcmVhbGxvY2F0ZSBpdHMgYmFja2luZyBzdG9yZSwgdGhpcyBjYW4gY2F1c2VzIGFsbCBzb3J0
cyBvZiBoYXZvYy4KKyAgICAgICAgVGhlIG1fYnJlYWtwb2ludElEVG9CcmVha3BvaW50IG1hcCBh
c3N1bWVzIHRoYXQgdGhlIGJyZWFrcG9pbnQgZGF0YSBkb2Vzbid0CisgICAgICAgIG1vdmUgaW4g
bWVtb3J5LgorCisgICAgICAgIFRoZSBmaXggaXMgdG8gcmVwbGFjZSB0aGUgQnJlYWtwb2ludHNJ
bkxpbmUgVmVjdG9yIHdpdGggYSBCcmVha3BvaW50c0xpc3QKKyAgICAgICAgZG91Ymx5IGxpbmtl
ZCBsaXN0LgorCisgICAgICAgICogZGVidWdnZXIvQnJlYWtwb2ludC5oOgorICAgICAgICAoSlND
OjpCcmVha3BvaW50OjpCcmVha3BvaW50KToKKyAgICAgICAgKEpTQzo6QnJlYWtwb2ludHNMaXN0
Ojp+QnJlYWtwb2ludHNMaXN0KToKKyAgICAgICAgKiBkZWJ1Z2dlci9EZWJ1Z2dlci5jcHA6Cisg
ICAgICAgIChKU0M6OkRlYnVnZ2VyOjpzZXRCcmVha3BvaW50KToKKyAgICAgICAgKEpTQzo6RGVi
dWdnZXI6OnJlbW92ZUJyZWFrcG9pbnQpOgorICAgICAgICAoSlNDOjpEZWJ1Z2dlcjo6aGFzQnJl
YWtwb2ludCk6CisgICAgICAgICogZGVidWdnZXIvRGVidWdnZXIuaDoKKwogMjAxNC0wNi0zMCAg
TWljaGFlbCBTYWJvZmYgIDxtc2Fib2ZmQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgb3B0aW9u
IHRvIHJ1bi1qc2Mtc3RyZXNzLXRlc3RlcyB0byBmaWx0ZXIgb3V0IHRlc3RzIHRoYXQgdXNlIGxh
cmdlIGhlYXBzCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGVidWdnZXIvQnJlYWtwb2lu
dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZWJ1Z2dlci9CcmVha3Bv
aW50LmgJKHJldmlzaW9uIDE3MDY3MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZWJ1Z2dl
ci9CcmVha3BvaW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTI3LDExICsyNywxMyBAQAogI2RlZmlu
ZSBCcmVha3BvaW50X2gKIAogI2luY2x1ZGUgIkRlYnVnZ2VyUHJpbWl0aXZlcy5oIgorI2luY2x1
ZGUgPHd0Zi9Eb3VibHlMaW5rZWRMaXN0Lmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4K
ICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKLXN0
cnVjdCBCcmVha3BvaW50IHsKK3N0cnVjdCBCcmVha3BvaW50IDogcHVibGljIERvdWJseUxpbmtl
ZExpc3ROb2RlPEJyZWFrcG9pbnQ+IHsKICAgICBCcmVha3BvaW50KCkKICAgICAgICAgOiBpZChu
b0JyZWFrcG9pbnRJRCkKICAgICAgICAgLCBzb3VyY2VJRChub1NvdXJjZUlEKQpAQCAtNTEsNiAr
NTMsMTYgQEAgc3RydWN0IEJyZWFrcG9pbnQgewogICAgIHsKICAgICB9CiAKKyAgICBCcmVha3Bv
aW50KEJyZWFrcG9pbnQmIG90aGVyKQorICAgICAgICA6IGlkKG90aGVyLmlkKQorICAgICAgICAs
IHNvdXJjZUlEKG90aGVyLnNvdXJjZUlEKQorICAgICAgICAsIGxpbmUob3RoZXIubGluZSkKKyAg
ICAgICAgLCBjb2x1bW4ob3RoZXIuY29sdW1uKQorICAgICAgICAsIGNvbmRpdGlvbihvdGhlci5j
b25kaXRpb24pCisgICAgICAgICwgYXV0b0NvbnRpbnVlKG90aGVyLmF1dG9Db250aW51ZSkKKyAg
ICB7CisgICAgfQorCiAgICAgQnJlYWtwb2ludElEIGlkOwogICAgIFNvdXJjZUlEIHNvdXJjZUlE
OwogICAgIHVuc2lnbmVkIGxpbmU7CkBAIC01OSw2ICs3MSwyNCBAQCBzdHJ1Y3QgQnJlYWtwb2lu
dCB7CiAgICAgYm9vbCBhdXRvQ29udGludWU7CiAKICAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQg
dW5zcGVjaWZpZWRDb2x1bW4gPSBVSU5UX01BWDsKKworcHJpdmF0ZToKKyAgICBCcmVha3BvaW50
KiBtX3ByZXY7CisgICAgQnJlYWtwb2ludCogbV9uZXh0OworCisgICAgZnJpZW5kIGNsYXNzIFdU
Rjo6RG91Ymx5TGlua2VkTGlzdE5vZGU8QnJlYWtwb2ludD47Cit9OworCitjbGFzcyBCcmVha3Bv
aW50c0xpc3QgOiBwdWJsaWMgRG91Ymx5TGlua2VkTGlzdDxCcmVha3BvaW50PiwKKyAgICBwdWJs
aWMgUmVmQ291bnRlZDxCcmVha3BvaW50c0xpc3Q+IHsKK3B1YmxpYzoKKyAgICB+QnJlYWtwb2lu
dHNMaXN0KCkKKyAgICB7CisgICAgICAgIEJyZWFrcG9pbnQqIGJyZWFrcG9pbnQ7CisgICAgICAg
IHdoaWxlIChicmVha3BvaW50ID0gcmVtb3ZlSGVhZCgpKQorICAgICAgICAgICAgZGVsZXRlIGJy
ZWFrcG9pbnQ7CisgICAgICAgIEFTU0VSVChpc0VtcHR5KCkpOworICAgIH0KIH07CiAKIH0gLy8g
bmFtZXNwYWNlIEpTQwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RlYnVnZ2VyL0RlYnVn
Z2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGVidWdnZXIvRGVi
dWdnZXIuY3BwCShyZXZpc2lvbiAxNzA2NzEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGVi
dWdnZXIvRGVidWdnZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNTcsMTggKzM1NywxOCBAQCBC
cmVha3BvaW50SUQgRGVidWdnZXI6OnNldEJyZWFrcG9pbnQoQnJlCiAgICAgICAgIGl0ID0gbV9z
b3VyY2VJRFRvQnJlYWtwb2ludHMuc2V0KHNvdXJjZUlELCBMaW5lVG9CcmVha3BvaW50c01hcCgp
KS5pdGVyYXRvcjsKICAgICBMaW5lVG9CcmVha3BvaW50c01hcDo6aXRlcmF0b3IgYnJlYWtzSXQg
PSBpdC0+dmFsdWUuZmluZChsaW5lKTsKICAgICBpZiAoYnJlYWtzSXQgPT0gaXQtPnZhbHVlLmVu
ZCgpKQotICAgICAgICBicmVha3NJdCA9IGl0LT52YWx1ZS5zZXQobGluZSwgQnJlYWtwb2ludHNJ
bkxpbmUoKSkuaXRlcmF0b3I7CisgICAgICAgIGJyZWFrc0l0ID0gaXQtPnZhbHVlLnNldChsaW5l
LCBhZG9wdFJlZihuZXcgQnJlYWtwb2ludHNMaXN0KSkuaXRlcmF0b3I7CiAKLSAgICBCcmVha3Bv
aW50c0luTGluZSYgYnJlYWtwb2ludHMgPSBicmVha3NJdC0+dmFsdWU7Ci0gICAgdW5zaWduZWQg
YnJlYWtwb2ludHNDb3VudCA9IGJyZWFrcG9pbnRzLnNpemUoKTsKLSAgICBmb3IgKHVuc2lnbmVk
IGkgPSAwOyBpIDwgYnJlYWtwb2ludHNDb3VudDsgaSsrKQotICAgICAgICBpZiAoYnJlYWtwb2lu
dHNbaV0uY29sdW1uID09IGNvbHVtbikgeworICAgIEJyZWFrcG9pbnRzTGlzdCYgYnJlYWtwb2lu
dHMgPSAqYnJlYWtzSXQtPnZhbHVlOworICAgIGZvciAoQnJlYWtwb2ludCogY3VycmVudCA9IGJy
ZWFrcG9pbnRzLmhlYWQoKTsgY3VycmVudDsgY3VycmVudCA9IGN1cnJlbnQtPm5leHQoKSkgewor
ICAgICAgICBpZiAoY3VycmVudC0+Y29sdW1uID09IGNvbHVtbikgewogICAgICAgICAgICAgLy8g
VGhlIGJyZWFrcG9pbnQgYWxyZWFkeSBleGlzdHMuIFdlJ3JlIG5vdCBhbGxvd2VkIHRvIGNyZWF0
ZSBhIG5ldwogICAgICAgICAgICAgLy8gYnJlYWtwb2ludCBhdCB0aGlzIGxvY2F0aW9uLiBSYXRo
ZXIgdGhhbiByZXR1cm5pbmcgdGhlIGJyZWFrcG9pbnRJRAogICAgICAgICAgICAgLy8gb2YgdGhl
IHByZS1leGlzdGluZyBicmVha3BvaW50LCB3ZSBuZWVkIHRvIHJldHVybiBub0JyZWFrcG9pbnRJ
RAogICAgICAgICAgICAgLy8gdG8gaW5kaWNhdGUgdGhhdCB3ZSdyZSBub3QgY3JlYXRpbmcgYSBu
ZXcgb25lLgogICAgICAgICAgICAgcmV0dXJuIG5vQnJlYWtwb2ludElEOwogICAgICAgICB9Cisg
ICAgfQogCiAgICAgQnJlYWtwb2ludElEIGlkID0gKyttX3RvcEJyZWFrcG9pbnRJRDsKICAgICBS
RUxFQVNFX0FTU0VSVChpZCAhPSBub0JyZWFrcG9pbnRJRCk7CkBAIC0zNzcsOCArMzc3LDkgQEAg
QnJlYWtwb2ludElEIERlYnVnZ2VyOjpzZXRCcmVha3BvaW50KEJyZQogICAgIGFjdHVhbExpbmUg
PSBsaW5lOwogICAgIGFjdHVhbENvbHVtbiA9IGNvbHVtbjsKIAotICAgIGJyZWFrcG9pbnRzLmFw
cGVuZChicmVha3BvaW50KTsKLSAgICBtX2JyZWFrcG9pbnRJRFRvQnJlYWtwb2ludC5zZXQoaWQs
ICZicmVha3BvaW50cy5sYXN0KCkpOworICAgIEJyZWFrcG9pbnQqIG5ld0JyZWFrcG9pbnQgPSBu
ZXcgQnJlYWtwb2ludChicmVha3BvaW50KTsKKyAgICBicmVha3BvaW50cy5hcHBlbmQobmV3QnJl
YWtwb2ludCk7CisgICAgbV9icmVha3BvaW50SURUb0JyZWFrcG9pbnQuc2V0KGlkLCBuZXdCcmVh
a3BvaW50KTsKIAogICAgIHRvZ2dsZUJyZWFrcG9pbnQoYnJlYWtwb2ludCwgQnJlYWtwb2ludEVu
YWJsZWQpOwogCkBAIC0zOTEsMzEgKzM5MiwzNSBAQCB2b2lkIERlYnVnZ2VyOjpyZW1vdmVCcmVh
a3BvaW50KEJyZWFrcG9pCiAKICAgICBCcmVha3BvaW50SURUb0JyZWFrcG9pbnRNYXA6Oml0ZXJh
dG9yIGlkSXQgPSBtX2JyZWFrcG9pbnRJRFRvQnJlYWtwb2ludC5maW5kKGlkKTsKICAgICBBU1NF
UlQoaWRJdCAhPSBtX2JyZWFrcG9pbnRJRFRvQnJlYWtwb2ludC5lbmQoKSk7Ci0gICAgQnJlYWtw
b2ludCYgYnJlYWtwb2ludCA9ICppZEl0LT52YWx1ZTsKKyAgICBCcmVha3BvaW50KiBicmVha3Bv
aW50ID0gaWRJdC0+dmFsdWU7CiAKLSAgICBTb3VyY2VJRCBzb3VyY2VJRCA9IGJyZWFrcG9pbnQu
c291cmNlSUQ7CisgICAgU291cmNlSUQgc291cmNlSUQgPSBicmVha3BvaW50LT5zb3VyY2VJRDsK
ICAgICBBU1NFUlQoc291cmNlSUQpOwogICAgIFNvdXJjZUlEVG9CcmVha3BvaW50c01hcDo6aXRl
cmF0b3IgaXQgPSBtX3NvdXJjZUlEVG9CcmVha3BvaW50cy5maW5kKHNvdXJjZUlEKTsKICAgICBB
U1NFUlQoaXQgIT0gbV9zb3VyY2VJRFRvQnJlYWtwb2ludHMuZW5kKCkpOwotICAgIExpbmVUb0Jy
ZWFrcG9pbnRzTWFwOjppdGVyYXRvciBicmVha3NJdCA9IGl0LT52YWx1ZS5maW5kKGJyZWFrcG9p
bnQubGluZSk7CisgICAgTGluZVRvQnJlYWtwb2ludHNNYXA6Oml0ZXJhdG9yIGJyZWFrc0l0ID0g
aXQtPnZhbHVlLmZpbmQoYnJlYWtwb2ludC0+bGluZSk7CiAgICAgQVNTRVJUKGJyZWFrc0l0ICE9
IGl0LT52YWx1ZS5lbmQoKSk7CiAKLSAgICB0b2dnbGVCcmVha3BvaW50KGJyZWFrcG9pbnQsIEJy
ZWFrcG9pbnREaXNhYmxlZCk7CisgICAgdG9nZ2xlQnJlYWtwb2ludCgqYnJlYWtwb2ludCwgQnJl
YWtwb2ludERpc2FibGVkKTsKIAotICAgIEJyZWFrcG9pbnRzSW5MaW5lJiBicmVha3BvaW50cyA9
IGJyZWFrc0l0LT52YWx1ZTsKLSAgICB1bnNpZ25lZCBicmVha3BvaW50c0NvdW50ID0gYnJlYWtw
b2ludHMuc2l6ZSgpOwotICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBicmVha3BvaW50c0Nv
dW50OyBpKyspIHsKLSAgICAgICAgaWYgKGJyZWFrcG9pbnRzW2ldLmlkID09IGJyZWFrcG9pbnQu
aWQpIHsKLSAgICAgICAgICAgIGJyZWFrcG9pbnRzLnJlbW92ZShpKTsKLSAgICAgICAgICAgIG1f
YnJlYWtwb2ludElEVG9CcmVha3BvaW50LnJlbW92ZShpZEl0KTsKLQotICAgICAgICAgICAgaWYg
KGJyZWFrcG9pbnRzLmlzRW1wdHkoKSkgewotICAgICAgICAgICAgICAgIGl0LT52YWx1ZS5yZW1v
dmUoYnJlYWtzSXQpOwotICAgICAgICAgICAgICAgIGlmIChpdC0+dmFsdWUuaXNFbXB0eSgpKQot
ICAgICAgICAgICAgICAgICAgICBtX3NvdXJjZUlEVG9CcmVha3BvaW50cy5yZW1vdmUoaXQpOwot
ICAgICAgICAgICAgfQotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KKyAgICBCcmVha3Bv
aW50c0xpc3QmIGJyZWFrcG9pbnRzID0gKmJyZWFrc0l0LT52YWx1ZTsKKyNpZiAhQVNTRVJUX0RJ
U0FCTEVECisgICAgYm9vbCBmb3VuZCA9IGZhbHNlOworICAgIGZvciAoQnJlYWtwb2ludCogY3Vy
cmVudCA9IGJyZWFrcG9pbnRzLmhlYWQoKTsgY3VycmVudCAmJiAhZm91bmQ7IGN1cnJlbnQgPSBj
dXJyZW50LT5uZXh0KCkpIHsKKyAgICAgICAgaWYgKGN1cnJlbnQtPmlkID09IGJyZWFrcG9pbnQt
PmlkKQorICAgICAgICAgICAgZm91bmQgPSB0cnVlOworICAgIH0KKyAgICBBU1NFUlQoZm91bmQp
OworI2VuZGlmCisKKyAgICBtX2JyZWFrcG9pbnRJRFRvQnJlYWtwb2ludC5yZW1vdmUoaWRJdCk7
CisgICAgYnJlYWtwb2ludHMucmVtb3ZlKGJyZWFrcG9pbnQpOworICAgIGRlbGV0ZSBicmVha3Bv
aW50OworCisgICAgaWYgKGJyZWFrcG9pbnRzLmlzRW1wdHkoKSkgeworICAgICAgICBpdC0+dmFs
dWUucmVtb3ZlKGJyZWFrc0l0KTsKKyAgICAgICAgaWYgKGl0LT52YWx1ZS5pc0VtcHR5KCkpCisg
ICAgICAgICAgICBtX3NvdXJjZUlEVG9CcmVha3BvaW50cy5yZW1vdmUoaXQpOwogICAgIH0KIH0K
IApAQCAtNDM2LDEyICs0NDEsMTEgQEAgYm9vbCBEZWJ1Z2dlcjo6aGFzQnJlYWtwb2ludChTb3Vy
Y2VJRCBzbwogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBib29sIGhpdCA9IGZhbHNlOwot
ICAgIGNvbnN0IEJyZWFrcG9pbnRzSW5MaW5lJiBicmVha3BvaW50cyA9IGJyZWFrc0l0LT52YWx1
ZTsKLSAgICB1bnNpZ25lZCBicmVha3BvaW50c0NvdW50ID0gYnJlYWtwb2ludHMuc2l6ZSgpOwot
ICAgIHVuc2lnbmVkIGk7Ci0gICAgZm9yIChpID0gMDsgaSA8IGJyZWFrcG9pbnRzQ291bnQ7IGkr
KykgewotICAgICAgICB1bnNpZ25lZCBicmVha0xpbmUgPSBicmVha3BvaW50c1tpXS5saW5lOwot
ICAgICAgICB1bnNpZ25lZCBicmVha0NvbHVtbiA9IGJyZWFrcG9pbnRzW2ldLmNvbHVtbjsKKyAg
ICBjb25zdCBCcmVha3BvaW50c0xpc3QmIGJyZWFrcG9pbnRzID0gKmJyZWFrc0l0LT52YWx1ZTsK
KyAgICBCcmVha3BvaW50KiBicmVha3BvaW50OworICAgIGZvciAoYnJlYWtwb2ludCA9IGJyZWFr
cG9pbnRzLmhlYWQoKTsgYnJlYWtwb2ludDsgYnJlYWtwb2ludCA9IGJyZWFrcG9pbnQtPm5leHQo
KSkgeworICAgICAgICB1bnNpZ25lZCBicmVha0xpbmUgPSBicmVha3BvaW50LT5saW5lOworICAg
ICAgICB1bnNpZ25lZCBicmVha0NvbHVtbiA9IGJyZWFrcG9pbnQtPmNvbHVtbjsKICAgICAgICAg
Ly8gU2luY2UgZnJvbnRlbmQgdHJ1bmNhdGVzIHRoZSBpbmRlbnQsIHRoZSBmaXJzdCBzdGF0ZW1l
bnQgaW4gYSBsaW5lIG11c3QgbWF0Y2ggdGhlIGJyZWFrcG9pbnQgKGxpbmUsMCkuCiAgICAgICAg
IEFTU0VSVCh0aGlzID09IG1fY3VycmVudENhbGxGcmFtZS0+Y29kZUJsb2NrKCktPmdsb2JhbE9i
amVjdCgpLT5kZWJ1Z2dlcigpKTsKICAgICAgICAgaWYgKChsaW5lICE9IG1fbGFzdEV4ZWN1dGVk
TGluZSAmJiBsaW5lID09IGJyZWFrTGluZSAmJiAhYnJlYWtDb2x1bW4pCkBAIC00NTQsOSArNDU4
LDkgQEAgYm9vbCBEZWJ1Z2dlcjo6aGFzQnJlYWtwb2ludChTb3VyY2VJRCBzbwogICAgICAgICBy
ZXR1cm4gZmFsc2U7CiAKICAgICBpZiAoaGl0QnJlYWtwb2ludCkKLSAgICAgICAgKmhpdEJyZWFr
cG9pbnQgPSBicmVha3BvaW50c1tpXTsKKyAgICAgICAgKmhpdEJyZWFrcG9pbnQgPSAqYnJlYWtw
b2ludDsKIAotICAgIGlmIChicmVha3BvaW50c1tpXS5jb25kaXRpb24uaXNFbXB0eSgpKQorICAg
IGlmIChicmVha3BvaW50LT5jb25kaXRpb24uaXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gdHJ1
ZTsKIAogICAgIC8vIFdlIGNhbm5vdCBzdG9wIGluIHRoZSBkZWJ1Z2dlciB3aGlsZSBleGVjdXRp
bmcgY29uZGl0aW9uIGNvZGUsCkBAIC00NjUsNyArNDY5LDcgQEAgYm9vbCBEZWJ1Z2dlcjo6aGFz
QnJlYWtwb2ludChTb3VyY2VJRCBzbwogCiAgICAgSlNWYWx1ZSBleGNlcHRpb247CiAgICAgRGVi
dWdnZXJDYWxsRnJhbWUqIGRlYnVnZ2VyQ2FsbEZyYW1lID0gY3VycmVudERlYnVnZ2VyQ2FsbEZy
YW1lKCk7Ci0gICAgSlNWYWx1ZSByZXN1bHQgPSBkZWJ1Z2dlckNhbGxGcmFtZS0+ZXZhbHVhdGUo
YnJlYWtwb2ludHNbaV0uY29uZGl0aW9uLCBleGNlcHRpb24pOworICAgIEpTVmFsdWUgcmVzdWx0
ID0gZGVidWdnZXJDYWxsRnJhbWUtPmV2YWx1YXRlKGJyZWFrcG9pbnQtPmNvbmRpdGlvbiwgZXhj
ZXB0aW9uKTsKIAogICAgIC8vIFdlIGNhbiBsb3NlIHRoZSBkZWJ1Z2dlciB3aGlsZSBleGVjdXRp
bmcgSmF2YVNjcmlwdC4KICAgICBpZiAoIW1fY3VycmVudENhbGxGcmFtZSkKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZWJ1Z2dlci9EZWJ1Z2dlci5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZWJ1Z2dlci9EZWJ1Z2dlci5oCShyZXZpc2lvbiAxNzA2NzEpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGVidWdnZXIvRGVidWdnZXIuaAkod29ya2luZyBjb3B5
KQpAQCAtMjksNyArMjksNiBAQAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8
d3RmL0hhc2hTZXQuaD4KICNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+Ci0jaW5jbHVkZSA8d3RmL1Zl
Y3Rvci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1RleHRQb3NpdGlvbi5oPgogCiBuYW1lc3BhY2Ug
SlNDIHsKQEAgLTEyOCw4ICsxMjcsNyBAQCBwcm90ZWN0ZWQ6CiBwcml2YXRlOgogICAgIHR5cGVk
ZWYgSGFzaE1hcDxCcmVha3BvaW50SUQsIEJyZWFrcG9pbnQqPiBCcmVha3BvaW50SURUb0JyZWFr
cG9pbnRNYXA7CiAKLSAgICB0eXBlZGVmIFZlY3RvcjxCcmVha3BvaW50PiBCcmVha3BvaW50c0lu
TGluZTsKLSAgICB0eXBlZGVmIEhhc2hNYXA8dW5zaWduZWQsIEJyZWFrcG9pbnRzSW5MaW5lLCBX
VEY6OkludEhhc2g8aW50PiwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czxpbnQ+
PiBMaW5lVG9CcmVha3BvaW50c01hcDsKKyAgICB0eXBlZGVmIEhhc2hNYXA8dW5zaWduZWQsIFJl
ZlB0cjxCcmVha3BvaW50c0xpc3Q+LCBXVEY6OkludEhhc2g8aW50PiwgV1RGOjpVbnNpZ25lZFdp
dGhaZXJvS2V5SGFzaFRyYWl0czxpbnQ+PiBMaW5lVG9CcmVha3BvaW50c01hcDsKICAgICB0eXBl
ZGVmIEhhc2hNYXA8U291cmNlSUQsIExpbmVUb0JyZWFrcG9pbnRzTWFwLCBXVEY6OkludEhhc2g8
U291cmNlSUQ+LCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPFNvdXJjZUlEPj4g
U291cmNlSURUb0JyZWFrcG9pbnRzTWFwOwogCiAgICAgY2xhc3MgQ2xlYXJDb2RlQmxvY2tEZWJ1
Z2dlclJlcXVlc3RzRnVuY3RvcjsK
</data>
<flag name="review"
          id="258748"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>234209</attachid>
            <date>2014-07-01 15:51:28 -0700</date>
            <delta_ts>2014-07-01 15:51:28 -0700</delta_ts>
            <desc>updated patch to make the EWS bots happy + Geoff&apos;s suggested fix.</desc>
            <filename>bug-134514.patch</filename>
            <type>text/plain</type>
            <size>9719</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTcwNjcxKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI5IEBA
CisyMDE0LTA3LTAxICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBE
ZWJ1Z2dlcidzIGJyZWFrcG9pbnQgbGlzdCBzaG91bGQgbm90IGJlIGEgVmVjdG9yLgorICAgICAg
ICA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTM0NTE0PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBkZWJ1Z2dlciBjdXJyZW50bHkgc3RvcmVzIGJy
ZWFrcG9pbnQgZGF0YSBhcyBlbnRyaWVzIGluIGEgVmVjdG9yIChzZWUKKyAgICAgICAgQnJlYWtw
b2ludHNJbkxpbmUpLiAgSXQgYWxzbyBrZWVwcyBhIGZhc3QgbWFwIGxvb2sgdXAgb2YgYnJlYWtw
b2ludCBJRHMgdG8KKyAgICAgICAgdGhlIGJyZWFrcG9pbnQgZGF0YSAoc2VlIG1fYnJlYWtwb2lu
dElEVG9CcmVha3BvaW50KS4gIEJlY2F1c2UgYSBWZWN0b3IgY2FuCisgICAgICAgIGNvbXBhY3Qg
b3IgcmVhbGxvY2F0ZSBpdHMgYmFja2luZyBzdG9yZSwgdGhpcyBjYW4gY2F1c2VzIGFsbCBzb3J0
cyBvZiBoYXZvYy4KKyAgICAgICAgVGhlIG1fYnJlYWtwb2ludElEVG9CcmVha3BvaW50IG1hcCBh
c3N1bWVzIHRoYXQgdGhlIGJyZWFrcG9pbnQgZGF0YSBkb2Vzbid0CisgICAgICAgIG1vdmUgaW4g
bWVtb3J5LgorCisgICAgICAgIFRoZSBmaXggaXMgdG8gcmVwbGFjZSB0aGUgQnJlYWtwb2ludHNJ
bkxpbmUgVmVjdG9yIHdpdGggYSBCcmVha3BvaW50c0xpc3QKKyAgICAgICAgZG91Ymx5IGxpbmtl
ZCBsaXN0LgorCisgICAgICAgICogZGVidWdnZXIvQnJlYWtwb2ludC5oOgorICAgICAgICAoSlND
OjpCcmVha3BvaW50OjpCcmVha3BvaW50KToKKyAgICAgICAgKEpTQzo6QnJlYWtwb2ludHNMaXN0
Ojp+QnJlYWtwb2ludHNMaXN0KToKKyAgICAgICAgKiBkZWJ1Z2dlci9EZWJ1Z2dlci5jcHA6Cisg
ICAgICAgIChKU0M6OkRlYnVnZ2VyOjpzZXRCcmVha3BvaW50KToKKyAgICAgICAgKEpTQzo6RGVi
dWdnZXI6OnJlbW92ZUJyZWFrcG9pbnQpOgorICAgICAgICAoSlNDOjpEZWJ1Z2dlcjo6aGFzQnJl
YWtwb2ludCk6CisgICAgICAgICogZGVidWdnZXIvRGVidWdnZXIuaDoKKwogMjAxNC0wNi0zMCAg
TWljaGFlbCBTYWJvZmYgIDxtc2Fib2ZmQGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgb3B0aW9u
IHRvIHJ1bi1qc2Mtc3RyZXNzLXRlc3RlcyB0byBmaWx0ZXIgb3V0IHRlc3RzIHRoYXQgdXNlIGxh
cmdlIGhlYXBzCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGVidWdnZXIvQnJlYWtwb2lu
dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZWJ1Z2dlci9CcmVha3Bv
aW50LmgJKHJldmlzaW9uIDE3MDY3MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZWJ1Z2dl
ci9CcmVha3BvaW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTI3LDExICsyNywxMyBAQAogI2RlZmlu
ZSBCcmVha3BvaW50X2gKIAogI2luY2x1ZGUgIkRlYnVnZ2VyUHJpbWl0aXZlcy5oIgorI2luY2x1
ZGUgPHd0Zi9Eb3VibHlMaW5rZWRMaXN0Lmg+CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4K
ICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIEpTQyB7CiAKLXN0
cnVjdCBCcmVha3BvaW50IHsKK3N0cnVjdCBCcmVha3BvaW50IDogcHVibGljIERvdWJseUxpbmtl
ZExpc3ROb2RlPEJyZWFrcG9pbnQ+IHsKICAgICBCcmVha3BvaW50KCkKICAgICAgICAgOiBpZChu
b0JyZWFrcG9pbnRJRCkKICAgICAgICAgLCBzb3VyY2VJRChub1NvdXJjZUlEKQpAQCAtNTEsNiAr
NTMsMTYgQEAgc3RydWN0IEJyZWFrcG9pbnQgewogICAgIHsKICAgICB9CiAKKyAgICBCcmVha3Bv
aW50KGNvbnN0IEJyZWFrcG9pbnQmIG90aGVyKQorICAgICAgICA6IGlkKG90aGVyLmlkKQorICAg
ICAgICAsIHNvdXJjZUlEKG90aGVyLnNvdXJjZUlEKQorICAgICAgICAsIGxpbmUob3RoZXIubGlu
ZSkKKyAgICAgICAgLCBjb2x1bW4ob3RoZXIuY29sdW1uKQorICAgICAgICAsIGNvbmRpdGlvbihv
dGhlci5jb25kaXRpb24pCisgICAgICAgICwgYXV0b0NvbnRpbnVlKG90aGVyLmF1dG9Db250aW51
ZSkKKyAgICB7CisgICAgfQorCiAgICAgQnJlYWtwb2ludElEIGlkOwogICAgIFNvdXJjZUlEIHNv
dXJjZUlEOwogICAgIHVuc2lnbmVkIGxpbmU7CkBAIC01OSw2ICs3MSwyNCBAQCBzdHJ1Y3QgQnJl
YWtwb2ludCB7CiAgICAgYm9vbCBhdXRvQ29udGludWU7CiAKICAgICBzdGF0aWMgY29uc3QgdW5z
aWduZWQgdW5zcGVjaWZpZWRDb2x1bW4gPSBVSU5UX01BWDsKKworcHJpdmF0ZToKKyAgICBCcmVh
a3BvaW50KiBtX3ByZXY7CisgICAgQnJlYWtwb2ludCogbV9uZXh0OworCisgICAgZnJpZW5kIGNs
YXNzIFdURjo6RG91Ymx5TGlua2VkTGlzdE5vZGU8QnJlYWtwb2ludD47Cit9OworCitjbGFzcyBC
cmVha3BvaW50c0xpc3QgOiBwdWJsaWMgRG91Ymx5TGlua2VkTGlzdDxCcmVha3BvaW50PiwKKyAg
ICBwdWJsaWMgUmVmQ291bnRlZDxCcmVha3BvaW50c0xpc3Q+IHsKK3B1YmxpYzoKKyAgICB+QnJl
YWtwb2ludHNMaXN0KCkKKyAgICB7CisgICAgICAgIEJyZWFrcG9pbnQqIGJyZWFrcG9pbnQ7Cisg
ICAgICAgIHdoaWxlICgoYnJlYWtwb2ludCA9IHJlbW92ZUhlYWQoKSkpCisgICAgICAgICAgICBk
ZWxldGUgYnJlYWtwb2ludDsKKyAgICAgICAgQVNTRVJUKGlzRW1wdHkoKSk7CisgICAgfQogfTsK
IAogfSAvLyBuYW1lc3BhY2UgSlNDCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGVidWdn
ZXIvRGVidWdnZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZWJ1
Z2dlci9EZWJ1Z2dlci5jcHAJKHJldmlzaW9uIDE3MDY3MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZWJ1Z2dlci9EZWJ1Z2dlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM1NywxOCArMzU3
LDE4IEBAIEJyZWFrcG9pbnRJRCBEZWJ1Z2dlcjo6c2V0QnJlYWtwb2ludChCcmUKICAgICAgICAg
aXQgPSBtX3NvdXJjZUlEVG9CcmVha3BvaW50cy5zZXQoc291cmNlSUQsIExpbmVUb0JyZWFrcG9p
bnRzTWFwKCkpLml0ZXJhdG9yOwogICAgIExpbmVUb0JyZWFrcG9pbnRzTWFwOjppdGVyYXRvciBi
cmVha3NJdCA9IGl0LT52YWx1ZS5maW5kKGxpbmUpOwogICAgIGlmIChicmVha3NJdCA9PSBpdC0+
dmFsdWUuZW5kKCkpCi0gICAgICAgIGJyZWFrc0l0ID0gaXQtPnZhbHVlLnNldChsaW5lLCBCcmVh
a3BvaW50c0luTGluZSgpKS5pdGVyYXRvcjsKKyAgICAgICAgYnJlYWtzSXQgPSBpdC0+dmFsdWUu
c2V0KGxpbmUsIGFkb3B0UmVmKG5ldyBCcmVha3BvaW50c0xpc3QpKS5pdGVyYXRvcjsKIAotICAg
IEJyZWFrcG9pbnRzSW5MaW5lJiBicmVha3BvaW50cyA9IGJyZWFrc0l0LT52YWx1ZTsKLSAgICB1
bnNpZ25lZCBicmVha3BvaW50c0NvdW50ID0gYnJlYWtwb2ludHMuc2l6ZSgpOwotICAgIGZvciAo
dW5zaWduZWQgaSA9IDA7IGkgPCBicmVha3BvaW50c0NvdW50OyBpKyspCi0gICAgICAgIGlmIChi
cmVha3BvaW50c1tpXS5jb2x1bW4gPT0gY29sdW1uKSB7CisgICAgQnJlYWtwb2ludHNMaXN0JiBi
cmVha3BvaW50cyA9ICpicmVha3NJdC0+dmFsdWU7CisgICAgZm9yIChCcmVha3BvaW50KiBjdXJy
ZW50ID0gYnJlYWtwb2ludHMuaGVhZCgpOyBjdXJyZW50OyBjdXJyZW50ID0gY3VycmVudC0+bmV4
dCgpKSB7CisgICAgICAgIGlmIChjdXJyZW50LT5jb2x1bW4gPT0gY29sdW1uKSB7CiAgICAgICAg
ICAgICAvLyBUaGUgYnJlYWtwb2ludCBhbHJlYWR5IGV4aXN0cy4gV2UncmUgbm90IGFsbG93ZWQg
dG8gY3JlYXRlIGEgbmV3CiAgICAgICAgICAgICAvLyBicmVha3BvaW50IGF0IHRoaXMgbG9jYXRp
b24uIFJhdGhlciB0aGFuIHJldHVybmluZyB0aGUgYnJlYWtwb2ludElECiAgICAgICAgICAgICAv
LyBvZiB0aGUgcHJlLWV4aXN0aW5nIGJyZWFrcG9pbnQsIHdlIG5lZWQgdG8gcmV0dXJuIG5vQnJl
YWtwb2ludElECiAgICAgICAgICAgICAvLyB0byBpbmRpY2F0ZSB0aGF0IHdlJ3JlIG5vdCBjcmVh
dGluZyBhIG5ldyBvbmUuCiAgICAgICAgICAgICByZXR1cm4gbm9CcmVha3BvaW50SUQ7CiAgICAg
ICAgIH0KKyAgICB9CiAKICAgICBCcmVha3BvaW50SUQgaWQgPSArK21fdG9wQnJlYWtwb2ludElE
OwogICAgIFJFTEVBU0VfQVNTRVJUKGlkICE9IG5vQnJlYWtwb2ludElEKTsKQEAgLTM3Nyw4ICsz
NzcsOSBAQCBCcmVha3BvaW50SUQgRGVidWdnZXI6OnNldEJyZWFrcG9pbnQoQnJlCiAgICAgYWN0
dWFsTGluZSA9IGxpbmU7CiAgICAgYWN0dWFsQ29sdW1uID0gY29sdW1uOwogCi0gICAgYnJlYWtw
b2ludHMuYXBwZW5kKGJyZWFrcG9pbnQpOwotICAgIG1fYnJlYWtwb2ludElEVG9CcmVha3BvaW50
LnNldChpZCwgJmJyZWFrcG9pbnRzLmxhc3QoKSk7CisgICAgQnJlYWtwb2ludCogbmV3QnJlYWtw
b2ludCA9IG5ldyBCcmVha3BvaW50KGJyZWFrcG9pbnQpOworICAgIGJyZWFrcG9pbnRzLmFwcGVu
ZChuZXdCcmVha3BvaW50KTsKKyAgICBtX2JyZWFrcG9pbnRJRFRvQnJlYWtwb2ludC5zZXQoaWQs
IG5ld0JyZWFrcG9pbnQpOwogCiAgICAgdG9nZ2xlQnJlYWtwb2ludChicmVha3BvaW50LCBCcmVh
a3BvaW50RW5hYmxlZCk7CiAKQEAgLTM5MSwzMSArMzkyLDM1IEBAIHZvaWQgRGVidWdnZXI6OnJl
bW92ZUJyZWFrcG9pbnQoQnJlYWtwb2kKIAogICAgIEJyZWFrcG9pbnRJRFRvQnJlYWtwb2ludE1h
cDo6aXRlcmF0b3IgaWRJdCA9IG1fYnJlYWtwb2ludElEVG9CcmVha3BvaW50LmZpbmQoaWQpOwog
ICAgIEFTU0VSVChpZEl0ICE9IG1fYnJlYWtwb2ludElEVG9CcmVha3BvaW50LmVuZCgpKTsKLSAg
ICBCcmVha3BvaW50JiBicmVha3BvaW50ID0gKmlkSXQtPnZhbHVlOworICAgIEJyZWFrcG9pbnQq
IGJyZWFrcG9pbnQgPSBpZEl0LT52YWx1ZTsKIAotICAgIFNvdXJjZUlEIHNvdXJjZUlEID0gYnJl
YWtwb2ludC5zb3VyY2VJRDsKKyAgICBTb3VyY2VJRCBzb3VyY2VJRCA9IGJyZWFrcG9pbnQtPnNv
dXJjZUlEOwogICAgIEFTU0VSVChzb3VyY2VJRCk7CiAgICAgU291cmNlSURUb0JyZWFrcG9pbnRz
TWFwOjppdGVyYXRvciBpdCA9IG1fc291cmNlSURUb0JyZWFrcG9pbnRzLmZpbmQoc291cmNlSUQp
OwogICAgIEFTU0VSVChpdCAhPSBtX3NvdXJjZUlEVG9CcmVha3BvaW50cy5lbmQoKSk7Ci0gICAg
TGluZVRvQnJlYWtwb2ludHNNYXA6Oml0ZXJhdG9yIGJyZWFrc0l0ID0gaXQtPnZhbHVlLmZpbmQo
YnJlYWtwb2ludC5saW5lKTsKKyAgICBMaW5lVG9CcmVha3BvaW50c01hcDo6aXRlcmF0b3IgYnJl
YWtzSXQgPSBpdC0+dmFsdWUuZmluZChicmVha3BvaW50LT5saW5lKTsKICAgICBBU1NFUlQoYnJl
YWtzSXQgIT0gaXQtPnZhbHVlLmVuZCgpKTsKIAotICAgIHRvZ2dsZUJyZWFrcG9pbnQoYnJlYWtw
b2ludCwgQnJlYWtwb2ludERpc2FibGVkKTsKKyAgICB0b2dnbGVCcmVha3BvaW50KCpicmVha3Bv
aW50LCBCcmVha3BvaW50RGlzYWJsZWQpOwogCi0gICAgQnJlYWtwb2ludHNJbkxpbmUmIGJyZWFr
cG9pbnRzID0gYnJlYWtzSXQtPnZhbHVlOwotICAgIHVuc2lnbmVkIGJyZWFrcG9pbnRzQ291bnQg
PSBicmVha3BvaW50cy5zaXplKCk7Ci0gICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGJyZWFr
cG9pbnRzQ291bnQ7IGkrKykgewotICAgICAgICBpZiAoYnJlYWtwb2ludHNbaV0uaWQgPT0gYnJl
YWtwb2ludC5pZCkgewotICAgICAgICAgICAgYnJlYWtwb2ludHMucmVtb3ZlKGkpOwotICAgICAg
ICAgICAgbV9icmVha3BvaW50SURUb0JyZWFrcG9pbnQucmVtb3ZlKGlkSXQpOwotCi0gICAgICAg
ICAgICBpZiAoYnJlYWtwb2ludHMuaXNFbXB0eSgpKSB7Ci0gICAgICAgICAgICAgICAgaXQtPnZh
bHVlLnJlbW92ZShicmVha3NJdCk7Ci0gICAgICAgICAgICAgICAgaWYgKGl0LT52YWx1ZS5pc0Vt
cHR5KCkpCi0gICAgICAgICAgICAgICAgICAgIG1fc291cmNlSURUb0JyZWFrcG9pbnRzLnJlbW92
ZShpdCk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQorICAg
IEJyZWFrcG9pbnRzTGlzdCYgYnJlYWtwb2ludHMgPSAqYnJlYWtzSXQtPnZhbHVlOworI2lmICFB
U1NFUlRfRElTQUJMRUQKKyAgICBib29sIGZvdW5kID0gZmFsc2U7CisgICAgZm9yIChCcmVha3Bv
aW50KiBjdXJyZW50ID0gYnJlYWtwb2ludHMuaGVhZCgpOyBjdXJyZW50ICYmICFmb3VuZDsgY3Vy
cmVudCA9IGN1cnJlbnQtPm5leHQoKSkgeworICAgICAgICBpZiAoY3VycmVudC0+aWQgPT0gYnJl
YWtwb2ludC0+aWQpCisgICAgICAgICAgICBmb3VuZCA9IHRydWU7CisgICAgfQorICAgIEFTU0VS
VChmb3VuZCk7CisjZW5kaWYKKworICAgIG1fYnJlYWtwb2ludElEVG9CcmVha3BvaW50LnJlbW92
ZShpZEl0KTsKKyAgICBicmVha3BvaW50cy5yZW1vdmUoYnJlYWtwb2ludCk7CisgICAgZGVsZXRl
IGJyZWFrcG9pbnQ7CisKKyAgICBpZiAoYnJlYWtwb2ludHMuaXNFbXB0eSgpKSB7CisgICAgICAg
IGl0LT52YWx1ZS5yZW1vdmUoYnJlYWtzSXQpOworICAgICAgICBpZiAoaXQtPnZhbHVlLmlzRW1w
dHkoKSkKKyAgICAgICAgICAgIG1fc291cmNlSURUb0JyZWFrcG9pbnRzLnJlbW92ZShpdCk7CiAg
ICAgfQogfQogCkBAIC00MzYsMTIgKzQ0MSwxMSBAQCBib29sIERlYnVnZ2VyOjpoYXNCcmVha3Bv
aW50KFNvdXJjZUlEIHNvCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIGJvb2wgaGl0ID0g
ZmFsc2U7Ci0gICAgY29uc3QgQnJlYWtwb2ludHNJbkxpbmUmIGJyZWFrcG9pbnRzID0gYnJlYWtz
SXQtPnZhbHVlOwotICAgIHVuc2lnbmVkIGJyZWFrcG9pbnRzQ291bnQgPSBicmVha3BvaW50cy5z
aXplKCk7Ci0gICAgdW5zaWduZWQgaTsKLSAgICBmb3IgKGkgPSAwOyBpIDwgYnJlYWtwb2ludHND
b3VudDsgaSsrKSB7Ci0gICAgICAgIHVuc2lnbmVkIGJyZWFrTGluZSA9IGJyZWFrcG9pbnRzW2ld
LmxpbmU7Ci0gICAgICAgIHVuc2lnbmVkIGJyZWFrQ29sdW1uID0gYnJlYWtwb2ludHNbaV0uY29s
dW1uOworICAgIGNvbnN0IEJyZWFrcG9pbnRzTGlzdCYgYnJlYWtwb2ludHMgPSAqYnJlYWtzSXQt
PnZhbHVlOworICAgIEJyZWFrcG9pbnQqIGJyZWFrcG9pbnQ7CisgICAgZm9yIChicmVha3BvaW50
ID0gYnJlYWtwb2ludHMuaGVhZCgpOyBicmVha3BvaW50OyBicmVha3BvaW50ID0gYnJlYWtwb2lu
dC0+bmV4dCgpKSB7CisgICAgICAgIHVuc2lnbmVkIGJyZWFrTGluZSA9IGJyZWFrcG9pbnQtPmxp
bmU7CisgICAgICAgIHVuc2lnbmVkIGJyZWFrQ29sdW1uID0gYnJlYWtwb2ludC0+Y29sdW1uOwog
ICAgICAgICAvLyBTaW5jZSBmcm9udGVuZCB0cnVuY2F0ZXMgdGhlIGluZGVudCwgdGhlIGZpcnN0
IHN0YXRlbWVudCBpbiBhIGxpbmUgbXVzdCBtYXRjaCB0aGUgYnJlYWtwb2ludCAobGluZSwwKS4K
ICAgICAgICAgQVNTRVJUKHRoaXMgPT0gbV9jdXJyZW50Q2FsbEZyYW1lLT5jb2RlQmxvY2soKS0+
Z2xvYmFsT2JqZWN0KCktPmRlYnVnZ2VyKCkpOwogICAgICAgICBpZiAoKGxpbmUgIT0gbV9sYXN0
RXhlY3V0ZWRMaW5lICYmIGxpbmUgPT0gYnJlYWtMaW5lICYmICFicmVha0NvbHVtbikKQEAgLTQ1
NCw5ICs0NTgsOSBAQCBib29sIERlYnVnZ2VyOjpoYXNCcmVha3BvaW50KFNvdXJjZUlEIHNvCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgIGlmIChoaXRCcmVha3BvaW50KQotICAgICAgICAq
aGl0QnJlYWtwb2ludCA9IGJyZWFrcG9pbnRzW2ldOworICAgICAgICAqaGl0QnJlYWtwb2ludCA9
ICpicmVha3BvaW50OwogCi0gICAgaWYgKGJyZWFrcG9pbnRzW2ldLmNvbmRpdGlvbi5pc0VtcHR5
KCkpCisgICAgaWYgKGJyZWFrcG9pbnQtPmNvbmRpdGlvbi5pc0VtcHR5KCkpCiAgICAgICAgIHJl
dHVybiB0cnVlOwogCiAgICAgLy8gV2UgY2Fubm90IHN0b3AgaW4gdGhlIGRlYnVnZ2VyIHdoaWxl
IGV4ZWN1dGluZyBjb25kaXRpb24gY29kZSwKQEAgLTQ2NSw3ICs0NjksNyBAQCBib29sIERlYnVn
Z2VyOjpoYXNCcmVha3BvaW50KFNvdXJjZUlEIHNvCiAKICAgICBKU1ZhbHVlIGV4Y2VwdGlvbjsK
ICAgICBEZWJ1Z2dlckNhbGxGcmFtZSogZGVidWdnZXJDYWxsRnJhbWUgPSBjdXJyZW50RGVidWdn
ZXJDYWxsRnJhbWUoKTsKLSAgICBKU1ZhbHVlIHJlc3VsdCA9IGRlYnVnZ2VyQ2FsbEZyYW1lLT5l
dmFsdWF0ZShicmVha3BvaW50c1tpXS5jb25kaXRpb24sIGV4Y2VwdGlvbik7CisgICAgSlNWYWx1
ZSByZXN1bHQgPSBkZWJ1Z2dlckNhbGxGcmFtZS0+ZXZhbHVhdGUoYnJlYWtwb2ludC0+Y29uZGl0
aW9uLCBleGNlcHRpb24pOwogCiAgICAgLy8gV2UgY2FuIGxvc2UgdGhlIGRlYnVnZ2VyIHdoaWxl
IGV4ZWN1dGluZyBKYXZhU2NyaXB0LgogICAgIGlmICghbV9jdXJyZW50Q2FsbEZyYW1lKQpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RlYnVnZ2VyL0RlYnVnZ2VyLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RlYnVnZ2VyL0RlYnVnZ2VyLmgJKHJldmlzaW9uIDE3
MDY3MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZWJ1Z2dlci9EZWJ1Z2dlci5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yOSw3ICsyOSw2IEBACiAjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KICNp
bmNsdWRlIDx3dGYvSGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KLSNpbmNsdWRl
IDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvVGV4dFBvc2l0aW9uLmg+CiAKIG5h
bWVzcGFjZSBKU0MgewpAQCAtMTI4LDggKzEyNyw3IEBAIHByb3RlY3RlZDoKIHByaXZhdGU6CiAg
ICAgdHlwZWRlZiBIYXNoTWFwPEJyZWFrcG9pbnRJRCwgQnJlYWtwb2ludCo+IEJyZWFrcG9pbnRJ
RFRvQnJlYWtwb2ludE1hcDsKIAotICAgIHR5cGVkZWYgVmVjdG9yPEJyZWFrcG9pbnQ+IEJyZWFr
cG9pbnRzSW5MaW5lOwotICAgIHR5cGVkZWYgSGFzaE1hcDx1bnNpZ25lZCwgQnJlYWtwb2ludHNJ
bkxpbmUsIFdURjo6SW50SGFzaDxpbnQ+LCBXVEY6OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJh
aXRzPGludD4+IExpbmVUb0JyZWFrcG9pbnRzTWFwOworICAgIHR5cGVkZWYgSGFzaE1hcDx1bnNp
Z25lZCwgUmVmUHRyPEJyZWFrcG9pbnRzTGlzdD4sIFdURjo6SW50SGFzaDxpbnQ+LCBXVEY6OlVu
c2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPGludD4+IExpbmVUb0JyZWFrcG9pbnRzTWFwOwog
ICAgIHR5cGVkZWYgSGFzaE1hcDxTb3VyY2VJRCwgTGluZVRvQnJlYWtwb2ludHNNYXAsIFdURjo6
SW50SGFzaDxTb3VyY2VJRD4sIFdURjo6VW5zaWduZWRXaXRoWmVyb0tleUhhc2hUcmFpdHM8U291
cmNlSUQ+PiBTb3VyY2VJRFRvQnJlYWtwb2ludHNNYXA7CiAKICAgICBjbGFzcyBDbGVhckNvZGVC
bG9ja0RlYnVnZ2VyUmVxdWVzdHNGdW5jdG9yOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>