<?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>31873</bug_id>
          
          <creation_ts>2009-11-25 07:35:58 -0800</creation_ts>
          <short_desc>[V8] Avoid using JavaScript objects as context data</short_desc>
          <delta_ts>2009-12-07 09:52:55 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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="Søren Gjesse">sgjesse</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dglazkov</cc>
    
    <cc>pfeldman</cc>
    
    <cc>sgjesse</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>166433</commentid>
    <comment_count>0</comment_count>
    <who name="Søren Gjesse">sgjesse</who>
    <bug_when>2009-11-25 07:35:58 -0800</bug_when>
    <thetext>The V8 API provides the ability to associate a context with a &quot;data&quot; object. If a context dependent object is used this ha the side effect of keeping the context alive for some time after the page using the context has been closed.

To avoid this the context &quot;data&quot; object should be a string which is not context dependent. In the V8 API the type will be changed from Object to String in the near future.

See http://crbug.com/23058.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166447</commentid>
    <comment_count>1</comment_count>
      <attachid>43847</attachid>
    <who name="Søren Gjesse">sgjesse</who>
    <bug_when>2009-11-25 07:55:31 -0800</bug_when>
    <thetext>Created attachment 43847
Use string instead if JavaScript object for context &quot;data&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166465</commentid>
    <comment_count>2</comment_count>
    <who name="Søren Gjesse">sgjesse</who>
    <bug_when>2009-11-25 08:28:27 -0800</bug_when>
    <thetext>This should not be committed before http://codereview.chromium.org/443002 has been committed in Chromium.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166472</commentid>
    <comment_count>3</comment_count>
      <attachid>43847</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2009-11-25 08:40:13 -0800</bug_when>
    <thetext>Comment on attachment 43847
Use string instead if JavaScript object for context &quot;data&quot;

&gt; -const char* V8Proxy::kContextDebugDataType = &quot;type&quot;;
&gt; -const char* V8Proxy::kContextDebugDataValue = &quot;value&quot;;

Remove these from .h as well? Otherwise r+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166474</commentid>
    <comment_count>4</comment_count>
    <who name="Yury Semikhatsky">yurys</who>
    <bug_when>2009-11-25 08:41:53 -0800</bug_when>
    <thetext>Looks good to me.

(In reply to comment #1)
&gt; Created an attachment (id=43847) [details]
&gt; Use string instead if JavaScript object for context &quot;data&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166665</commentid>
    <comment_count>5</comment_count>
      <attachid>43900</attachid>
    <who name="Søren Gjesse">sgjesse</who>
    <bug_when>2009-11-26 00:01:31 -0800</bug_when>
    <thetext>Created attachment 43900
Updated patch

Removed unused members from V8Proxy.h</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166667</commentid>
    <comment_count>6</comment_count>
    <who name="Søren Gjesse">sgjesse</who>
    <bug_when>2009-11-26 00:08:14 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 43847 [details])
&gt; &gt; -const char* V8Proxy::kContextDebugDataType = &quot;type&quot;;
&gt; &gt; -const char* V8Proxy::kContextDebugDataValue = &quot;value&quot;;
&gt; 
&gt; Remove these from .h as well? Otherwise r+.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166675</commentid>
    <comment_count>7</comment_count>
      <attachid>43900</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-11-26 00:43:49 -0800</bug_when>
    <thetext>Comment on attachment 43900
Updated patch

Clearing flags on attachment: 43900

Committed r51407: &lt;http://trac.webkit.org/changeset/51407&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166676</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-11-26 00:43:54 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>169343</commentid>
    <comment_count>9</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2009-12-07 09:52:55 -0800</bug_when>
    <thetext>This change has a flaw in logic. It removes the ability to set debug context id for a newly created context. The early return:

if (debugId == -1)
   return false;

causes V8Proxy::setInjectedScriptContext to always return false for newly created worlds with id &gt; 0.

I&apos;ll fix.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>43847</attachid>
            <date>2009-11-25 07:55:31 -0800</date>
            <delta_ts>2009-11-26 00:01:31 -0800</delta_ts>
            <desc>Use string instead if JavaScript object for context &quot;data&quot;</desc>
            <filename>31873.txt</filename>
            <type>text/plain</type>
            <size>4235</size>
            <attacher name="Søren Gjesse">sgjesse</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MTM4MCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTggQEAKKzIwMDktMTEtMjUgIFPDuHJlbiBHamVzc2UgIDxzZ2plc3NlQGNocm9t
aXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBbVjhdIEF2b2lkIHVzaW5nIEphdmFTY3JpcHQgb2JqZWN0cyBhcyBjb250ZXh0IGRhdGEKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMxODczCisKKyAg
ICAgICAgQ2hhbmdlIHRoZSBjb250ZXh0ICJkYXRhIiBmcm9tIGEgSmF2YVNjcmlwdCBvYmplY3Qg
aG9sZGluZyB0aGUgdHdvIHByb3BlcnRpZXMgdHlwZSBhbmQgdmFsdWUgdG8KKyAgICAgICAgYSBz
dHJpbmcgaG9sZGluZyB0eXBlIGFuZCB2YWx1ZSBzZXBhcmF0ZWQgYnkgYSBjb21tYS4KKworICAg
ICAgICAqIGJpbmRpbmdzL3Y4L1Y4UHJveHkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhQcm94
eTo6c2V0SW5qZWN0ZWRTY3JpcHRDb250ZXh0RGVidWdJZCk6CisgICAgICAgIChXZWJDb3JlOjpW
OFByb3h5OjpzZXRDb250ZXh0RGVidWdJZCk6CisgICAgICAgIChXZWJDb3JlOjpWOFByb3h5Ojpj
b250ZXh0RGVidWdJZCk6CisKIDIwMDktMTEtMjUgIEd1c3Rhdm8gTm9yb25oYSBTaWx2YSAgPGd1
c3Rhdm8ubm9yb25oYUBjb2xsYWJvcmEuY28udWs+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgWGFu
IExvcGV6LgpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy92OC9WOFByb3h5LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4UHJveHkuY3BwCShyZXZpc2lvbiA1MTM4MCkKKysr
IFdlYkNvcmUvYmluZGluZ3MvdjgvVjhQcm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU0LDEy
ICs1NCwxNCBAQAogI2luY2x1ZGUgIldvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eS5oIgogCiAj
aW5jbHVkZSA8YWxnb3JpdGhtPgorI2luY2x1ZGUgPHN0ZGlvLmg+CiAjaW5jbHVkZSA8dXRpbGl0
eT4KICNpbmNsdWRlIDx2OC5oPgogI2luY2x1ZGUgPHY4LWRlYnVnLmg+CiAjaW5jbHVkZSA8d3Rm
L0Fzc2VydGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvT3duQXJyYXlQdHIuaD4KICNpbmNsdWRlIDx3
dGYvU3RkTGliRXh0cmFzLmg+CisjaW5jbHVkZSA8d3RmL1N0cmluZ0V4dHJhcy5oPgogI2luY2x1
ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC02OSw5ICs3
MSw2IEBAIHY4OjpQZXJzaXN0ZW50PHY4OjpDb250ZXh0PiBWOFByb3h5OjptX3UKIC8vIFN0YXRp
YyBsaXN0IG9mIHJlZ2lzdGVyZWQgZXh0ZW5zaW9ucwogVjhFeHRlbnNpb25zIFY4UHJveHk6Om1f
ZXh0ZW5zaW9uczsKIAotY29uc3QgY2hhciogVjhQcm94eTo6a0NvbnRleHREZWJ1Z0RhdGFUeXBl
ID0gInR5cGUiOwotY29uc3QgY2hhciogVjhQcm94eTo6a0NvbnRleHREZWJ1Z0RhdGFWYWx1ZSA9
ICJ2YWx1ZSI7Ci0KIHZvaWQgYmF0Y2hDb25maWd1cmVBdHRyaWJ1dGVzKHY4OjpIYW5kbGU8djg6
Ok9iamVjdFRlbXBsYXRlPiBpbnN0YW5jZSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB2ODo6SGFuZGxlPHY4OjpPYmplY3RUZW1wbGF0ZT4gcHJvdG8sIAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgQmF0Y2hlZEF0dHJpYnV0ZSogYXR0cmlidXRlcywgCkBAIC0z
ODcsMjQgKzM4NiwxNiBAQCBib29sIFY4UHJveHk6OnNldEluamVjdGVkU2NyaXB0Q29udGV4dERl
CiB7CiAgICAgLy8gU2V0dXAgY29udGV4dCBpZCBmb3IgSlMgZGVidWdnZXIuCiAgICAgdjg6OkNv
bnRleHQ6OlNjb3BlIGNvbnRleHRTY29wZSh0YXJnZXRDb250ZXh0KTsKLSAgICB2ODo6SGFuZGxl
PHY4OjpPYmplY3Q+IGNvbnRleHREYXRhID0gdjg6Ok9iamVjdDo6TmV3KCk7Ci0gICAgaWYgKGNv
bnRleHREYXRhLklzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCiAgICAgaWYgKG1f
Y29udGV4dC5Jc0VtcHR5KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB2ODo6SGFuZGxl
PHY4OjpWYWx1ZT4gd2luZG93Q29udGV4dERhdGEgPSBtX2NvbnRleHQtPkdldERhdGEoKTsKLSAg
ICBpZiAod2luZG93Q29udGV4dERhdGEtPklzT2JqZWN0KCkpIHsKLSAgICAgICAgdjg6OkhhbmRs
ZTx2ODo6U3RyaW5nPiBwcm9wZXJ0eU5hbWUgPSB2ODo6U3RyaW5nOjpOZXcoa0NvbnRleHREZWJ1
Z0RhdGFWYWx1ZSk7Ci0gICAgICAgIGlmIChwcm9wZXJ0eU5hbWUuSXNFbXB0eSgpKQotICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICBjb250ZXh0RGF0YS0+U2V0KHByb3BlcnR5TmFt
ZSwgdjg6Ok9iamVjdDo6Q2FzdCgqd2luZG93Q29udGV4dERhdGEpLT5HZXQocHJvcGVydHlOYW1l
KSk7Ci0gICAgfQotICAgIHY4OjpIYW5kbGU8djg6OlN0cmluZz4gcHJvcGVydHlOYW1lID0gdjg6
OlN0cmluZzo6TmV3KGtDb250ZXh0RGVidWdEYXRhVHlwZSk7Ci0gICAgaWYgKHByb3BlcnR5TmFt
ZS5Jc0VtcHR5KCkpCisgICAgaW50IGRlYnVnSWQgPSBjb250ZXh0RGVidWdJZChtX2NvbnRleHQp
OworICAgIGlmIChkZWJ1Z0lkID09IC0xKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgY29u
dGV4dERhdGEtPlNldChwcm9wZXJ0eU5hbWUsIHY4OjpTdHJpbmc6Ok5ldygiaW5qZWN0ZWQiKSk7
Ci0gICAgdGFyZ2V0Q29udGV4dC0+U2V0RGF0YShjb250ZXh0RGF0YSk7CisKKyAgICBjaGFyIGJ1
ZmZlclszMl07CisgICAgc25wcmludGYoYnVmZmVyLCBzaXplb2YoYnVmZmVyKSwgImluamVjdGVk
LCVkIiwgZGVidWdJZCk7CisgICAgdGFyZ2V0Q29udGV4dC0+U2V0RGF0YSh2ODo6U3RyaW5nOjpO
ZXcoYnVmZmVyKSk7CisKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApAQCAtMTM2NiwyMCArMTM1Nywy
MiBAQCBib29sIFY4UHJveHk6OnNldENvbnRleHREZWJ1Z0lkKGludCBkZWJ1CiAgICAgICAgIHJl
dHVybiBmYWxzZTsKIAogICAgIHY4OjpDb250ZXh0OjpTY29wZSBjb250ZXh0U2NvcGUobV9jb250
ZXh0KTsKLSAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IGNvbnRleHREYXRhID0gdjg6Ok9iamVj
dDo6TmV3KCk7Ci0gICAgY29udGV4dERhdGEtPlNldCh2ODo6U3RyaW5nOjpOZXcoa0NvbnRleHRE
ZWJ1Z0RhdGFUeXBlKSwgdjg6OlN0cmluZzo6TmV3KCJwYWdlIikpOwotICAgIGNvbnRleHREYXRh
LT5TZXQodjg6OlN0cmluZzo6TmV3KGtDb250ZXh0RGVidWdEYXRhVmFsdWUpLCB2ODo6SW50ZWdl
cjo6TmV3KGRlYnVnSWQpKTsKLSAgICBtX2NvbnRleHQtPlNldERhdGEoY29udGV4dERhdGEpOwor
CisgICAgY2hhciBidWZmZXJbMzJdOworICAgIHNucHJpbnRmKGJ1ZmZlciwgc2l6ZW9mKGJ1ZmZl
ciksICJwYWdlLCVkIiwgZGVidWdJZCk7CisgICAgbV9jb250ZXh0LT5TZXREYXRhKHY4OjpTdHJp
bmc6Ok5ldyhidWZmZXIpKTsKKwogICAgIHJldHVybiB0cnVlOwogfQogCiBpbnQgVjhQcm94eTo6
Y29udGV4dERlYnVnSWQodjg6OkhhbmRsZTx2ODo6Q29udGV4dD4gY29udGV4dCkKIHsKICAgICB2
ODo6SGFuZGxlU2NvcGUgc2NvcGU7Ci0gICAgaWYgKCFjb250ZXh0LT5HZXREYXRhKCktPklzT2Jq
ZWN0KCkpCisgICAgaWYgKCFjb250ZXh0LT5HZXREYXRhKCktPklzU3RyaW5nKCkpCiAgICAgICAg
IHJldHVybiAtMTsKLSAgICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gZGF0YSA9IGNvbnRleHQtPkdl
dERhdGEoKS0+VG9PYmplY3QoKS0+R2V0KCB2ODo6U3RyaW5nOjpOZXcoa0NvbnRleHREZWJ1Z0Rh
dGFWYWx1ZSkpOwotICAgIHJldHVybiBkYXRhLT5Jc0ludDMyKCkgPyBkYXRhLT5JbnQzMlZhbHVl
KCkgOiAtMTsKKyAgICB2ODo6U3RyaW5nOjpBc2NpaVZhbHVlIGFzY2lpKGNvbnRleHQtPkdldERh
dGEoKSk7CisgICAgY2hhciogY29tbWEgPSBzdHJuc3RyKCphc2NpaSwgIiwiLCBhc2NpaS5sZW5n
dGgoKSk7CisgICAgcmV0dXJuIGF0b2koY29tbWEgKyAxKTsKIH0KIAogdjg6OkhhbmRsZTx2ODo6
VmFsdWU+IFY4UHJveHk6OmdldEhpZGRlbk9iamVjdFByb3RvdHlwZSh2ODo6SGFuZGxlPHY4OjpD
b250ZXh0PiBjb250ZXh0KQo=
</data>
<flag name="review"
          id="25590"
          type_id="1"
          status="-"
          setter="pfeldman"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>43900</attachid>
            <date>2009-11-26 00:01:31 -0800</date>
            <delta_ts>2009-11-26 00:43:49 -0800</delta_ts>
            <desc>Updated patch</desc>
            <filename>31873.txt</filename>
            <type>text/plain</type>
            <size>4743</size>
            <attacher name="Søren Gjesse">sgjesse</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1MTM4MCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTggQEAKKzIwMDktMTEtMjUgIFPDuHJlbiBHamVzc2UgIDxzZ2plc3NlQGNocm9t
aXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBbVjhdIEF2b2lkIHVzaW5nIEphdmFTY3JpcHQgb2JqZWN0cyBhcyBjb250ZXh0IGRhdGEKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMxODczCisKKyAg
ICAgICAgQ2hhbmdlIHRoZSBjb250ZXh0ICJkYXRhIiBmcm9tIGEgSmF2YVNjcmlwdCBvYmplY3Qg
aG9sZGluZyB0aGUgdHdvIHByb3BlcnRpZXMgdHlwZSBhbmQgdmFsdWUgdG8KKyAgICAgICAgYSBz
dHJpbmcgaG9sZGluZyB0eXBlIGFuZCB2YWx1ZSBzZXBhcmF0ZWQgYnkgYSBjb21tYS4KKworICAg
ICAgICAqIGJpbmRpbmdzL3Y4L1Y4UHJveHkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VjhQcm94
eTo6c2V0SW5qZWN0ZWRTY3JpcHRDb250ZXh0RGVidWdJZCk6CisgICAgICAgIChXZWJDb3JlOjpW
OFByb3h5OjpzZXRDb250ZXh0RGVidWdJZCk6CisgICAgICAgIChXZWJDb3JlOjpWOFByb3h5Ojpj
b250ZXh0RGVidWdJZCk6CisKIDIwMDktMTEtMjUgIEd1c3Rhdm8gTm9yb25oYSBTaWx2YSAgPGd1
c3Rhdm8ubm9yb25oYUBjb2xsYWJvcmEuY28udWs+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgWGFu
IExvcGV6LgpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy92OC9WOFByb3h5LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4UHJveHkuY3BwCShyZXZpc2lvbiA1MTM4MCkKKysr
IFdlYkNvcmUvYmluZGluZ3MvdjgvVjhQcm94eS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTU0LDEy
ICs1NCwxNCBAQAogI2luY2x1ZGUgIldvcmtlckNvbnRleHRFeGVjdXRpb25Qcm94eS5oIgogCiAj
aW5jbHVkZSA8YWxnb3JpdGhtPgorI2luY2x1ZGUgPHN0ZGlvLmg+CiAjaW5jbHVkZSA8dXRpbGl0
eT4KICNpbmNsdWRlIDx2OC5oPgogI2luY2x1ZGUgPHY4LWRlYnVnLmg+CiAjaW5jbHVkZSA8d3Rm
L0Fzc2VydGlvbnMuaD4KICNpbmNsdWRlIDx3dGYvT3duQXJyYXlQdHIuaD4KICNpbmNsdWRlIDx3
dGYvU3RkTGliRXh0cmFzLmg+CisjaW5jbHVkZSA8d3RmL1N0cmluZ0V4dHJhcy5oPgogI2luY2x1
ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC02OSw5ICs3
MSw2IEBAIHY4OjpQZXJzaXN0ZW50PHY4OjpDb250ZXh0PiBWOFByb3h5OjptX3UKIC8vIFN0YXRp
YyBsaXN0IG9mIHJlZ2lzdGVyZWQgZXh0ZW5zaW9ucwogVjhFeHRlbnNpb25zIFY4UHJveHk6Om1f
ZXh0ZW5zaW9uczsKIAotY29uc3QgY2hhciogVjhQcm94eTo6a0NvbnRleHREZWJ1Z0RhdGFUeXBl
ID0gInR5cGUiOwotY29uc3QgY2hhciogVjhQcm94eTo6a0NvbnRleHREZWJ1Z0RhdGFWYWx1ZSA9
ICJ2YWx1ZSI7Ci0KIHZvaWQgYmF0Y2hDb25maWd1cmVBdHRyaWJ1dGVzKHY4OjpIYW5kbGU8djg6
Ok9iamVjdFRlbXBsYXRlPiBpbnN0YW5jZSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB2ODo6SGFuZGxlPHY4OjpPYmplY3RUZW1wbGF0ZT4gcHJvdG8sIAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgQmF0Y2hlZEF0dHJpYnV0ZSogYXR0cmlidXRlcywgCkBAIC0z
ODcsMjQgKzM4NiwxNiBAQCBib29sIFY4UHJveHk6OnNldEluamVjdGVkU2NyaXB0Q29udGV4dERl
CiB7CiAgICAgLy8gU2V0dXAgY29udGV4dCBpZCBmb3IgSlMgZGVidWdnZXIuCiAgICAgdjg6OkNv
bnRleHQ6OlNjb3BlIGNvbnRleHRTY29wZSh0YXJnZXRDb250ZXh0KTsKLSAgICB2ODo6SGFuZGxl
PHY4OjpPYmplY3Q+IGNvbnRleHREYXRhID0gdjg6Ok9iamVjdDo6TmV3KCk7Ci0gICAgaWYgKGNv
bnRleHREYXRhLklzRW1wdHkoKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCiAgICAgaWYgKG1f
Y29udGV4dC5Jc0VtcHR5KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB2ODo6SGFuZGxl
PHY4OjpWYWx1ZT4gd2luZG93Q29udGV4dERhdGEgPSBtX2NvbnRleHQtPkdldERhdGEoKTsKLSAg
ICBpZiAod2luZG93Q29udGV4dERhdGEtPklzT2JqZWN0KCkpIHsKLSAgICAgICAgdjg6OkhhbmRs
ZTx2ODo6U3RyaW5nPiBwcm9wZXJ0eU5hbWUgPSB2ODo6U3RyaW5nOjpOZXcoa0NvbnRleHREZWJ1
Z0RhdGFWYWx1ZSk7Ci0gICAgICAgIGlmIChwcm9wZXJ0eU5hbWUuSXNFbXB0eSgpKQotICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICBjb250ZXh0RGF0YS0+U2V0KHByb3BlcnR5TmFt
ZSwgdjg6Ok9iamVjdDo6Q2FzdCgqd2luZG93Q29udGV4dERhdGEpLT5HZXQocHJvcGVydHlOYW1l
KSk7Ci0gICAgfQotICAgIHY4OjpIYW5kbGU8djg6OlN0cmluZz4gcHJvcGVydHlOYW1lID0gdjg6
OlN0cmluZzo6TmV3KGtDb250ZXh0RGVidWdEYXRhVHlwZSk7Ci0gICAgaWYgKHByb3BlcnR5TmFt
ZS5Jc0VtcHR5KCkpCisgICAgaW50IGRlYnVnSWQgPSBjb250ZXh0RGVidWdJZChtX2NvbnRleHQp
OworICAgIGlmIChkZWJ1Z0lkID09IC0xKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgY29u
dGV4dERhdGEtPlNldChwcm9wZXJ0eU5hbWUsIHY4OjpTdHJpbmc6Ok5ldygiaW5qZWN0ZWQiKSk7
Ci0gICAgdGFyZ2V0Q29udGV4dC0+U2V0RGF0YShjb250ZXh0RGF0YSk7CisKKyAgICBjaGFyIGJ1
ZmZlclszMl07CisgICAgc25wcmludGYoYnVmZmVyLCBzaXplb2YoYnVmZmVyKSwgImluamVjdGVk
LCVkIiwgZGVidWdJZCk7CisgICAgdGFyZ2V0Q29udGV4dC0+U2V0RGF0YSh2ODo6U3RyaW5nOjpO
ZXcoYnVmZmVyKSk7CisKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApAQCAtMTM2NiwyMCArMTM1Nywy
MiBAQCBib29sIFY4UHJveHk6OnNldENvbnRleHREZWJ1Z0lkKGludCBkZWJ1CiAgICAgICAgIHJl
dHVybiBmYWxzZTsKIAogICAgIHY4OjpDb250ZXh0OjpTY29wZSBjb250ZXh0U2NvcGUobV9jb250
ZXh0KTsKLSAgICB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IGNvbnRleHREYXRhID0gdjg6Ok9iamVj
dDo6TmV3KCk7Ci0gICAgY29udGV4dERhdGEtPlNldCh2ODo6U3RyaW5nOjpOZXcoa0NvbnRleHRE
ZWJ1Z0RhdGFUeXBlKSwgdjg6OlN0cmluZzo6TmV3KCJwYWdlIikpOwotICAgIGNvbnRleHREYXRh
LT5TZXQodjg6OlN0cmluZzo6TmV3KGtDb250ZXh0RGVidWdEYXRhVmFsdWUpLCB2ODo6SW50ZWdl
cjo6TmV3KGRlYnVnSWQpKTsKLSAgICBtX2NvbnRleHQtPlNldERhdGEoY29udGV4dERhdGEpOwor
CisgICAgY2hhciBidWZmZXJbMzJdOworICAgIHNucHJpbnRmKGJ1ZmZlciwgc2l6ZW9mKGJ1ZmZl
ciksICJwYWdlLCVkIiwgZGVidWdJZCk7CisgICAgbV9jb250ZXh0LT5TZXREYXRhKHY4OjpTdHJp
bmc6Ok5ldyhidWZmZXIpKTsKKwogICAgIHJldHVybiB0cnVlOwogfQogCiBpbnQgVjhQcm94eTo6
Y29udGV4dERlYnVnSWQodjg6OkhhbmRsZTx2ODo6Q29udGV4dD4gY29udGV4dCkKIHsKICAgICB2
ODo6SGFuZGxlU2NvcGUgc2NvcGU7Ci0gICAgaWYgKCFjb250ZXh0LT5HZXREYXRhKCktPklzT2Jq
ZWN0KCkpCisgICAgaWYgKCFjb250ZXh0LT5HZXREYXRhKCktPklzU3RyaW5nKCkpCiAgICAgICAg
IHJldHVybiAtMTsKLSAgICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gZGF0YSA9IGNvbnRleHQtPkdl
dERhdGEoKS0+VG9PYmplY3QoKS0+R2V0KCB2ODo6U3RyaW5nOjpOZXcoa0NvbnRleHREZWJ1Z0Rh
dGFWYWx1ZSkpOwotICAgIHJldHVybiBkYXRhLT5Jc0ludDMyKCkgPyBkYXRhLT5JbnQzMlZhbHVl
KCkgOiAtMTsKKyAgICB2ODo6U3RyaW5nOjpBc2NpaVZhbHVlIGFzY2lpKGNvbnRleHQtPkdldERh
dGEoKSk7CisgICAgY2hhciogY29tbWEgPSBzdHJuc3RyKCphc2NpaSwgIiwiLCBhc2NpaS5sZW5n
dGgoKSk7CisgICAgcmV0dXJuIGF0b2koY29tbWEgKyAxKTsKIH0KIAogdjg6OkhhbmRsZTx2ODo6
VmFsdWU+IFY4UHJveHk6OmdldEhpZGRlbk9iamVjdFByb3RvdHlwZSh2ODo6SGFuZGxlPHY4OjpD
b250ZXh0PiBjb250ZXh0KQpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy92OC9WOFByb3h5LmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy92OC9WOFByb3h5LmgJKHJldmlzaW9uIDUxMzgw
KQorKysgV2ViQ29yZS9iaW5kaW5ncy92OC9WOFByb3h5LmgJKHdvcmtpbmcgY29weSkKQEAgLTM2
NSw5ICszNjUsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQgdXBkYXRlRG9j
dW1lbnRXcmFwcGVyKHY4OjpIYW5kbGU8djg6OlZhbHVlPiB3cmFwcGVyKTsKIAogICAgIHByaXZh
dGU6Ci0gICAgICAgIHN0YXRpYyBjb25zdCBjaGFyKiBrQ29udGV4dERlYnVnRGF0YVR5cGU7Ci0g
ICAgICAgIHN0YXRpYyBjb25zdCBjaGFyKiBrQ29udGV4dERlYnVnRGF0YVZhbHVlOwotCiAgICAg
ICAgIHZvaWQgc2V0U2VjdXJpdHlUb2tlbigpOwogICAgICAgICB2b2lkIGNsZWFyRG9jdW1lbnRX
cmFwcGVyKCk7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>