<?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>164996</bug_id>
          
          <creation_ts>2016-11-19 18:20:11 -0800</creation_ts>
          <short_desc>Fix exception scope verification failures in *Executable.cpp files.</short_desc>
          <delta_ts>2016-11-21 09:20:59 -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>JavaScriptCore</component>
          <version>WebKit Local 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>
          
          <blocked>162351</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Lam">mark.lam</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>jfbastien</cc>
    
    <cc>keith_miller</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1253131</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-11-19 18:20:11 -0800</bug_when>
    <thetext>Patch coming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1253132</commentid>
    <comment_count>1</comment_count>
      <attachid>295275</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-11-19 18:32:53 -0800</bug_when>
    <thetext>Created attachment 295275
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1253158</commentid>
    <comment_count>2</comment_count>
      <attachid>295275</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-11-20 16:08:48 -0800</bug_when>
    <thetext>Comment on attachment 295275
proposed patch.

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

&gt; Source/JavaScriptCore/runtime/ProgramExecutable.cpp:82
&gt;      JSObject* exception = 0;

nullptr

&gt; Source/JavaScriptCore/runtime/ScriptExecutable.cpp:314
&gt; +        ExecState* exec = scope-&gt;globalObject()-&gt;globalExec();

I would write:

    auto&amp; state = *scope-&gt;globalObject()-&gt;globalExec();

&gt; Source/JavaScriptCore/runtime/ScriptExecutable.cpp:318
&gt;      JSObject* exception = 0;

nullptr</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1253178</commentid>
    <comment_count>3</comment_count>
      <attachid>295275</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-11-20 19:17:36 -0800</bug_when>
    <thetext>Comment on attachment 295275
proposed patch.

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

&gt;&gt; Source/JavaScriptCore/runtime/ScriptExecutable.cpp:314
&gt;&gt; +        ExecState* exec = scope-&gt;globalObject()-&gt;globalExec();
&gt; 
&gt; I would write:
&gt; 
&gt;     auto&amp; state = *scope-&gt;globalObject()-&gt;globalExec();

I think making this change would go against the style of what we usually do inside JSC. I&apos;m not against using this style throughout JSC, however, I think it&apos;s more important that we be consistent. I think at some point it&apos;s worth all of us having a more detailed discussion about coding style in JSC. I know that we mostly follow the normal WebKit style, however, I&apos;ve noticed that we&apos;ve differed from that style in some ways. Notably, I think JSC uses &quot;auto&quot; much less than the rest of WebKit does.

In this specific line of code, I usually see it written as Mark has written it. We tend to call things of type &quot;ExecState*&quot; exec, and not declare it using auto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1253250</commentid>
    <comment_count>4</comment_count>
      <attachid>295275</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-11-21 09:11:22 -0800</bug_when>
    <thetext>Comment on attachment 295275
proposed patch.

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

&gt;&gt;&gt; Source/JavaScriptCore/runtime/ScriptExecutable.cpp:314
&gt;&gt;&gt; +        ExecState* exec = scope-&gt;globalObject()-&gt;globalExec();
&gt;&gt; 
&gt;&gt; I would write:
&gt;&gt; 
&gt;&gt;     auto&amp; state = *scope-&gt;globalObject()-&gt;globalExec();
&gt; 
&gt; I think making this change would go against the style of what we usually do inside JSC. I&apos;m not against using this style throughout JSC, however, I think it&apos;s more important that we be consistent. I think at some point it&apos;s worth all of us having a more detailed discussion about coding style in JSC. I know that we mostly follow the normal WebKit style, however, I&apos;ve noticed that we&apos;ve differed from that style in some ways. Notably, I think JSC uses &quot;auto&quot; much less than the rest of WebKit does.
&gt; 
&gt; In this specific line of code, I usually see it written as Mark has written it. We tend to call things of type &quot;ExecState*&quot; exec, and not declare it using auto.

I think I&apos;ll go ahead and cave, and switch to using the convention of using ExecState&amp; state instead where possible since I&apos;ll be touching a lot of code in my exception checks series of patches.  I don&apos;t see the WebKit project switching back to using &quot;exec&quot;.  So, might as well get started on the switch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1253252</commentid>
    <comment_count>5</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-11-21 09:20:59 -0800</bug_when>
    <thetext>Thanks for the reviews.  Landed in r208950: &lt;http://trac.webkit.org/r208950&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>295275</attachid>
            <date>2016-11-19 18:32:53 -0800</date>
            <delta_ts>2016-11-20 16:08:48 -0800</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-164996.patch</filename>
            <type>text/plain</type>
            <size>7462</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjA4OTMxKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBA
CisyMDE2LTExLTE5ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBG
aXggZXhjZXB0aW9uIHNjb3BlIHZlcmlmaWNhdGlvbiBmYWlsdXJlcyBpbiAqRXhlY3V0YWJsZS5j
cHAgZmlsZXMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNjQ5OTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIHJ1bnRpbWUvRGlyZWN0RXZhbEV4ZWN1dGFibGUuY3BwOgorICAgICAgICAoSlNDOjpEaXJl
Y3RFdmFsRXhlY3V0YWJsZTo6Y3JlYXRlKToKKyAgICAgICAgKiBydW50aW1lL0luZGlyZWN0RXZh
bEV4ZWN1dGFibGUuY3BwOgorICAgICAgICAoSlNDOjpJbmRpcmVjdEV2YWxFeGVjdXRhYmxlOjpj
cmVhdGUpOgorICAgICAgICAqIHJ1bnRpbWUvUHJvZ3JhbUV4ZWN1dGFibGUuY3BwOgorICAgICAg
ICAoSlNDOjpQcm9ncmFtRXhlY3V0YWJsZTo6aW5pdGlhbGl6ZUdsb2JhbFByb3BlcnRpZXMpOgor
ICAgICAgICAqIHJ1bnRpbWUvU2NyaXB0RXhlY3V0YWJsZS5jcHA6CisgICAgICAgIChKU0M6OlNj
cmlwdEV4ZWN1dGFibGU6OnByZXBhcmVGb3JFeGVjdXRpb25JbXBsKToKKwogMjAxNi0xMS0xOSAg
TWFyayBMYW0gIDxtYXJrLmxhbUBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIC0tdGltZW91dE11
bHRpcGxpZXIgb3B0aW9uIHRvIGFsbG93IHNvbWUgdGVzdHMgbW9yZSB0aW1lIHRvIHJ1bi4KSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0RpcmVjdEV2YWxFeGVjdXRhYmxlLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9EaXJlY3RFdmFs
RXhlY3V0YWJsZS5jcHAJKHJldmlzaW9uIDIwODkzMSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0RpcmVjdEV2YWxFeGVjdXRhYmxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDcs
NiArNDcsNyBAQCBEaXJlY3RFdmFsRXhlY3V0YWJsZSogRGlyZWN0RXZhbEV4ZWN1dGFiCiAgICAg
ZXhlY3V0YWJsZS0+ZmluaXNoQ3JlYXRpb24odm0pOwogCiAgICAgVW5saW5rZWRFdmFsQ29kZUJs
b2NrKiB1bmxpbmtlZEV2YWxDb2RlID0gZ2xvYmFsT2JqZWN0LT5jcmVhdGVMb2NhbEV2YWxDb2Rl
QmxvY2soZXhlYywgZXhlY3V0YWJsZSwgdmFyaWFibGVzVW5kZXJURFopOworICAgIEFTU0VSVCgh
IXNjb3BlLmV4Y2VwdGlvbigpID09ICF1bmxpbmtlZEV2YWxDb2RlKTsKICAgICBpZiAoIXVubGlu
a2VkRXZhbENvZGUpCiAgICAgICAgIHJldHVybiAwOwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9JbmRpcmVjdEV2YWxFeGVjdXRhYmxlLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9JbmRpcmVjdEV2YWxFeGVjdXRhYmxlLmNwcAko
cmV2aXNpb24gMjA4OTMxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW5kaXJl
Y3RFdmFsRXhlY3V0YWJsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ3LDYgKzQ3LDcgQEAgSW5k
aXJlY3RFdmFsRXhlY3V0YWJsZSogSW5kaXJlY3RFdmFsRXhlYwogICAgIGV4ZWN1dGFibGUtPmZp
bmlzaENyZWF0aW9uKHZtKTsKIAogICAgIFVubGlua2VkRXZhbENvZGVCbG9jayogdW5saW5rZWRF
dmFsQ29kZSA9IGdsb2JhbE9iamVjdC0+Y3JlYXRlR2xvYmFsRXZhbENvZGVCbG9jayhleGVjLCBl
eGVjdXRhYmxlKTsKKyAgICBBU1NFUlQoISFzY29wZS5leGNlcHRpb24oKSA9PSAhdW5saW5rZWRF
dmFsQ29kZSk7CiAgICAgaWYgKCF1bmxpbmtlZEV2YWxDb2RlKQogICAgICAgICByZXR1cm4gMDsK
IApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvUHJvZ3JhbUV4ZWN1dGFibGUu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Byb2dyYW1F
eGVjdXRhYmxlLmNwcAkocmV2aXNpb24gMjA4OTMxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L3J1bnRpbWUvUHJvZ3JhbUV4ZWN1dGFibGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsy
OCw3IEBACiAjaW5jbHVkZSAiQmF0Y2hlZFRyYW5zaXRpb25PcHRpbWl6ZXIuaCIKICNpbmNsdWRl
ICJDb2RlQmxvY2suaCIKICNpbmNsdWRlICJEZWJ1Z2dlci5oIgorI2luY2x1ZGUgIkV4Y2VwdGlv
bi5oIgogI2luY2x1ZGUgIkpJVC5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKICNpbmNsdWRl
ICJMTEludEVudHJ5cG9pbnQuaCIKQEAgLTcyLDYgKzczLDcgQEAgSlNPYmplY3QqIFByb2dyYW1F
eGVjdXRhYmxlOjpjaGVja1N5bnRheAogCiBKU09iamVjdCogUHJvZ3JhbUV4ZWN1dGFibGU6Omlu
aXRpYWxpemVHbG9iYWxQcm9wZXJ0aWVzKFZNJiB2bSwgQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIEpT
U2NvcGUqIHNjb3BlKQogeworICAgIGF1dG8gdGhyb3dTY29wZSA9IERFQ0xBUkVfVEhST1dfU0NP
UEUodm0pOwogICAgIFJFTEVBU0VfQVNTRVJUKHNjb3BlKTsKICAgICBKU0dsb2JhbE9iamVjdCog
Z2xvYmFsT2JqZWN0ID0gc2NvcGUtPmdsb2JhbE9iamVjdCgpOwogICAgIFJFTEVBU0VfQVNTRVJU
KGdsb2JhbE9iamVjdCk7CkBAIC03OSw3ICs4MSw3IEBAIEpTT2JqZWN0KiBQcm9ncmFtRXhlY3V0
YWJsZTo6aW5pdGlhbGl6ZUcKIAogICAgIEpTT2JqZWN0KiBleGNlcHRpb24gPSAwOwogICAgIFVu
bGlua2VkUHJvZ3JhbUNvZGVCbG9jayogdW5saW5rZWRDb2RlQmxvY2sgPSBnbG9iYWxPYmplY3Qt
PmNyZWF0ZVByb2dyYW1Db2RlQmxvY2soY2FsbEZyYW1lLCB0aGlzLCAmZXhjZXB0aW9uKTsKLSAg
ICBpZiAoZXhjZXB0aW9uKQorICAgIGlmIChVTkxJS0VMWShleGNlcHRpb24pKQogICAgICAgICBy
ZXR1cm4gZXhjZXB0aW9uOwogCiAgICAgSlNHbG9iYWxMZXhpY2FsRW52aXJvbm1lbnQqIGdsb2Jh
bExleGljYWxFbnZpcm9ubWVudCA9IGdsb2JhbE9iamVjdC0+Z2xvYmFsTGV4aWNhbEVudmlyb25t
ZW50KCk7CkBAIC05OCw3ICsxMDAsOSBAQCBKU09iamVjdCogUHJvZ3JhbUV4ZWN1dGFibGU6Omlu
aXRpYWxpemVHCiAgICAgICAgIC8vIENoZWNrIGlmIGFueSBuZXcgImxldCIvImNvbnN0Ii8iY2xh
c3MiIHdpbGwgc2hhZG93IGFueSBwcmUtZXhpc3RpbmcgZ2xvYmFsIHByb3BlcnR5IG5hbWVzLCBv
ciAidmFyIi8ibGV0Ii8iY29uc3QiIHZhcmlhYmxlcy4KICAgICAgICAgLy8gSXQncyBhbiBlcnJv
ciB0byBpbnRyb2R1Y2UgYSBzaGFkb3cuCiAgICAgICAgIGZvciAoYXV0byYgZW50cnkgOiBsZXhp
Y2FsRGVjbGFyYXRpb25zKSB7Ci0gICAgICAgICAgICBpZiAoZ2xvYmFsT2JqZWN0LT5oYXNQcm9w
ZXJ0eShleGVjLCBlbnRyeS5rZXkuZ2V0KCkpKSB7CisgICAgICAgICAgICBib29sIGhhc1Byb3Bl
cnR5ID0gZ2xvYmFsT2JqZWN0LT5oYXNQcm9wZXJ0eShleGVjLCBlbnRyeS5rZXkuZ2V0KCkpOwor
ICAgICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCB0aHJvd1Njb3BlLmV4
Y2VwdGlvbigpKTsKKyAgICAgICAgICAgIGlmIChoYXNQcm9wZXJ0eSkgewogICAgICAgICAgICAg
ICAgIC8vIFRoZSBFUzYgc3BlYyBzYXlzIHRoYXQganVzdCBSZXN0cmljdGVkR2xvYmFsUHJvcGVy
dHkgY2FuJ3QgYmUgc2hhZG93ZWQKICAgICAgICAgICAgICAgICAvLyBUaGlzIGNhcnJpZWQgb3V0
IHNlY3Rpb24gOC4xLjEuNC4xNCBvZiB0aGUgRVM2IHNwZWM6IGh0dHA6Ly93d3cuZWNtYS1pbnRl
cm5hdGlvbmFsLm9yZy9lY21hLTI2Mi82LjAvaW5kZXguaHRtbCNzZWMtaGFzcmVzdHJpY3RlZGds
b2JhbHByb3BlcnR5CiAgICAgICAgICAgICAgICAgUHJvcGVydHlEZXNjcmlwdG9yIGRlc2NyaXB0
b3I7CkBAIC0xMDcsOCArMTExLDEwIEBAIEpTT2JqZWN0KiBQcm9ncmFtRXhlY3V0YWJsZTo6aW5p
dGlhbGl6ZUcKICAgICAgICAgICAgICAgICBpZiAoZGVzY3JpcHRvci52YWx1ZSgpICE9IGpzVW5k
ZWZpbmVkKCkgJiYgIWRlc2NyaXB0b3IuY29uZmlndXJhYmxlKCkpCiAgICAgICAgICAgICAgICAg
ICAgIHJldHVybiBjcmVhdGVTeW50YXhFcnJvcihleGVjLCBtYWtlU3RyaW5nKCJDYW4ndCBjcmVh
dGUgZHVwbGljYXRlIHZhcmlhYmxlIHRoYXQgc2hhZG93cyBhIGdsb2JhbCBwcm9wZXJ0eTogJyIs
IFN0cmluZyhlbnRyeS5rZXkuZ2V0KCkpLCAiJyIpKTsKICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgICAgICAKLSAgICAgICAgICAgIGlmIChnbG9iYWxMZXhpY2FsRW52aXJvbm1lbnQtPmhhc1By
b3BlcnR5KGV4ZWMsIGVudHJ5LmtleS5nZXQoKSkpIHsKKworICAgICAgICAgICAgaGFzUHJvcGVy
dHkgPSBnbG9iYWxMZXhpY2FsRW52aXJvbm1lbnQtPmhhc1Byb3BlcnR5KGV4ZWMsIGVudHJ5Lmtl
eS5nZXQoKSk7CisgICAgICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIHRo
cm93U2NvcGUuZXhjZXB0aW9uKCkpOworICAgICAgICAgICAgaWYgKGhhc1Byb3BlcnR5KSB7CiAg
ICAgICAgICAgICAgICAgaWYgKFVOTElLRUxZKGVudHJ5LnZhbHVlLmlzQ29uc3QoKSAmJiAhdm0u
Z2xvYmFsQ29uc3RSZWRlY2xhcmF0aW9uU2hvdWxkVGhyb3coKSAmJiAhaXNTdHJpY3RNb2RlKCkp
KSB7CiAgICAgICAgICAgICAgICAgICAgIC8vIFdlIG9ubHkgYWxsb3cgImNvbnN0IiBkdXBsaWNh
dGUgZGVjbGFyYXRpb25zIHVuZGVyIHRoaXMgc2V0dGluZy4KICAgICAgICAgICAgICAgICAgICAg
Ly8gRm9yIGV4YW1wbGUsIHdlIGRvbid0ICJsZXQiIHZhcmlhYmxlcyB0byBiZSBvdmVycmlkZGVu
IGJ5ICJjb25zdCIgdmFyaWFibGVzLgpAQCAtMTIzLDcgKzEyOSw5IEBAIEpTT2JqZWN0KiBQcm9n
cmFtRXhlY3V0YWJsZTo6aW5pdGlhbGl6ZUcKICAgICAgICAgLy8gSXQncyBhbiBlcnJvciB0byBp
bnRyb2R1Y2UgYSBzaGFkb3cuCiAgICAgICAgIGlmICghZ2xvYmFsTGV4aWNhbEVudmlyb25tZW50
LT5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgIGZvciAoYXV0byYgZW50cnkgOiB2YXJpYWJsZURl
Y2xhcmF0aW9ucykgewotICAgICAgICAgICAgICAgIGlmIChnbG9iYWxMZXhpY2FsRW52aXJvbm1l
bnQtPmhhc1Byb3BlcnR5KGV4ZWMsIGVudHJ5LmtleS5nZXQoKSkpCisgICAgICAgICAgICAgICAg
Ym9vbCBoYXNQcm9wZXJ0eSA9IGdsb2JhbExleGljYWxFbnZpcm9ubWVudC0+aGFzUHJvcGVydHko
ZXhlYywgZW50cnkua2V5LmdldCgpKTsKKyAgICAgICAgICAgICAgICBSRVRVUk5fSUZfRVhDRVBU
SU9OKHRocm93U2NvcGUsIHRocm93U2NvcGUuZXhjZXB0aW9uKCkpOworICAgICAgICAgICAgICAg
IGlmIChoYXNQcm9wZXJ0eSkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNyZWF0ZVN5bnRh
eEVycm9yKGV4ZWMsIG1ha2VTdHJpbmcoIkNhbid0IGNyZWF0ZSBkdXBsaWNhdGUgdmFyaWFibGU6
ICciLCBTdHJpbmcoZW50cnkua2V5LmdldCgpKSwgIiciKSk7CiAgICAgICAgICAgICB9CiAgICAg
ICAgIH0KQEAgLTE0OCw2ICsxNTYsNyBAQCBKU09iamVjdCogUHJvZ3JhbUV4ZWN1dGFibGU6Omlu
aXRpYWxpemVHCiAgICAgZm9yIChhdXRvJiBlbnRyeSA6IHZhcmlhYmxlRGVjbGFyYXRpb25zKSB7
CiAgICAgICAgIEFTU0VSVChlbnRyeS52YWx1ZS5pc1ZhcigpKTsKICAgICAgICAgZ2xvYmFsT2Jq
ZWN0LT5hZGRWYXIoY2FsbEZyYW1lLCBJZGVudGlmaWVyOjpmcm9tVWlkKCZ2bSwgZW50cnkua2V5
LmdldCgpKSk7CisgICAgICAgIEFTU0VSVCghdGhyb3dTY29wZS5leGNlcHRpb24oKSk7CiAgICAg
fQogCiAgICAgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2NyaXB0RXhl
Y3V0YWJsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
U2NyaXB0RXhlY3V0YWJsZS5jcHAJKHJldmlzaW9uIDIwODkzMSkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9ydW50aW1lL1NjcmlwdEV4ZWN1dGFibGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0z
MDcsMTggKzMwNywyMCBAQCBzdGF0aWMgdm9pZCBzZXR1cEpJVChWTSYgdm0sIENvZGVCbG9jayog
CiBKU09iamVjdCogU2NyaXB0RXhlY3V0YWJsZTo6cHJlcGFyZUZvckV4ZWN1dGlvbkltcGwoCiAg
ICAgVk0mIHZtLCBKU0Z1bmN0aW9uKiBmdW5jdGlvbiwgSlNTY29wZSogc2NvcGUsIENvZGVTcGVj
aWFsaXphdGlvbktpbmQga2luZCwgQ29kZUJsb2NrKiYgcmVzdWx0Q29kZUJsb2NrKQogeworICAg
IGF1dG8gdGhyb3dTY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogICAgIERlZmVyR0NG
b3JBV2hpbGUgZGVmZXJHQyh2bS5oZWFwKTsKIAotICAgIGlmICh2bS5nZXRBbmRDbGVhckZhaWxO
ZXh0TmV3Q29kZUJsb2NrKCkpCi0gICAgICAgIHJldHVybiBjcmVhdGVFcnJvcihzY29wZS0+Z2xv
YmFsT2JqZWN0KCktPmdsb2JhbEV4ZWMoKSwgQVNDSUlMaXRlcmFsKCJGb3JjZWQgRmFpbHVyZSIp
KTsKKyAgICBpZiAodm0uZ2V0QW5kQ2xlYXJGYWlsTmV4dE5ld0NvZGVCbG9jaygpKSB7CisgICAg
ICAgIEV4ZWNTdGF0ZSogZXhlYyA9IHNjb3BlLT5nbG9iYWxPYmplY3QoKS0+Z2xvYmFsRXhlYygp
OworICAgICAgICByZXR1cm4gdGhyb3dFeGNlcHRpb24oZXhlYywgdGhyb3dTY29wZSwgY3JlYXRl
RXJyb3IoZXhlYywgQVNDSUlMaXRlcmFsKCJGb3JjZWQgRmFpbHVyZSIpKSk7CisgICAgfQogCiAg
ICAgSlNPYmplY3QqIGV4Y2VwdGlvbiA9IDA7CiAgICAgQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSBu
ZXdDb2RlQmxvY2tGb3Ioa2luZCwgZnVuY3Rpb24sIHNjb3BlLCBleGNlcHRpb24pOwogICAgIHJl
c3VsdENvZGVCbG9jayA9IGNvZGVCbG9jazsKLSAgICBpZiAoIWNvZGVCbG9jaykgewotICAgICAg
ICBSRUxFQVNFX0FTU0VSVChleGNlcHRpb24pOworICAgIEFTU0VSVCghIXRocm93U2NvcGUuZXhj
ZXB0aW9uKCkgPT0gIWNvZGVCbG9jayk7CisgICAgaWYgKFVOTElLRUxZKCFjb2RlQmxvY2spKQog
ICAgICAgICByZXR1cm4gZXhjZXB0aW9uOwotICAgIH0KICAgICAKICAgICBpZiAoT3B0aW9uczo6
dmFsaWRhdGVCeXRlY29kZSgpKQogICAgICAgICBjb2RlQmxvY2stPnZhbGlkYXRlKCk7Cg==
</data>
<flag name="review"
          id="317896"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>