<?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>180970</bug_id>
          
          <creation_ts>2017-12-19 03:36:08 -0800</creation_ts>
          <short_desc>[JSC] Do not check isValid() in op_new_regexp</short_desc>
          <delta_ts>2019-03-08 23:58:19 -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 Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=195514</see_also>
          <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>
          <dependson>180960</dependson>
    
    <dependson>180966</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>fpizlo</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1383102</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-12-19 03:36:08 -0800</bug_when>
    <thetext>If we have an invalid regexp, we should emit op_throw_xxx bytecode instead of op_new_regexp.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1383217</commentid>
    <comment_count>1</comment_count>
      <attachid>329788</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-12-19 12:11:18 -0800</bug_when>
    <thetext>Created attachment 329788
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1383807</commentid>
    <comment_count>2</comment_count>
      <attachid>329788</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2017-12-20 13:37:25 -0800</bug_when>
    <thetext>Comment on attachment 329788
Patch

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

r=me with debug build fix.

&gt; Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp:149
&gt; +    const Identifier&amp; message = generator.parserArena().identifierArena().makeIdentifier(generator.vm(), bitwise_cast&lt;const LChar*&gt;(messageCharacters), strlen(messageCharacters));

bitwise_case -&gt; static_cast?

&gt; JSTests/stress/regexp-syntax-error-invalid-flags.js:18
&gt; +    return /Hello/cocoa;

I vote for adding a few more invalid regrex tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1383953</commentid>
    <comment_count>3</comment_count>
      <attachid>329788</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-12-20 17:55:01 -0800</bug_when>
    <thetext>Comment on attachment 329788
Patch

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

Thank you!

&gt;&gt; Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp:149
&gt;&gt; +    const Identifier&amp; message = generator.parserArena().identifierArena().makeIdentifier(generator.vm(), bitwise_cast&lt;const LChar*&gt;(messageCharacters), strlen(messageCharacters));
&gt; 
&gt; bitwise_case -&gt; static_cast?

Since this is `const char*` to `const LChar*` cast, bitwise_cast is necessary. (LChar is uint8_t).

&gt;&gt; JSTests/stress/regexp-syntax-error-invalid-flags.js:18
&gt;&gt; +    return /Hello/cocoa;
&gt; 
&gt; I vote for adding a few more invalid regrex tests

The other invalid RegExp becomes early (parser phase) syntax error. We have relaxed rule for invalid flags, which raise runtime errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1383955</commentid>
    <comment_count>4</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2017-12-20 17:58:34 -0800</bug_when>
    <thetext>Committed r226209: &lt;https://trac.webkit.org/changeset/226209&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1383956</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-12-20 18:00:37 -0800</bug_when>
    <thetext>&lt;rdar://problem/36169188&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>329788</attachid>
            <date>2017-12-19 12:11:18 -0800</date>
            <delta_ts>2017-12-20 13:37:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-180970-20171220051117.patch</filename>
            <type>text/plain</type>
            <size>8704</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI2MTM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBm
MzVkOWIyN2VlMzczYTA5M2I2MWY4NTVlMmQ5OGUwMDMwNTA0Yjg0Li40ZjIzNDI1YzM5NTkyYjNk
NThlNzliODIzMjgzNmI3NmJmZWIyZjc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwyNiBAQAogMjAxNy0xMi0xOSAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KIAorICAgICAgICBbSlNDXSBEbyBub3QgY2hlY2sgaXNWYWxpZCgpIGluIG9wX25ld19y
ZWdleHAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4
MDk3MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdl
IHNob3VsZCBub3QgY2hlY2sgYGlzVmFsaWQoKWAgaW5zaWRlIG9wX25ld19yZWdleHAuCisgICAg
ICAgIFRoaXMgc2ltcGxpZmllcyB0aGUgc2VtYW50aWNzIG9mIE5ld1JlZ2V4cCBub2RlIGluIERG
Ry4KKworICAgICAgICAqIGJ5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwOgorICAgICAgICAo
SlNDOjpSZWdFeHBOb2RlOjplbWl0Qnl0ZWNvZGUpOgorICAgICAgICAqIGRmZy9ERkdNYXlFeGl0
LmNwcDoKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwOgorICAgICAgICAoSlND
OjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlTmV3UmVnZXhwKToKKyAgICAgICAgKiBmdGwv
RlRMTG93ZXJERkdUb0IzLmNwcDoKKyAgICAgICAgKEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9C
Mzo6Y29tcGlsZU5ld1JlZ2V4cCk6CisgICAgICAgICogaml0L0pJVE9wZXJhdGlvbnMuY3BwOgor
ICAgICAgICAqIGxsaW50L0xMSW50U2xvd1BhdGhzLmNwcDoKKyAgICAgICAgKEpTQzo6TExJbnQ6
OkxMSU5UX1NMT1dfUEFUSF9ERUNMKToKKworMjAxNy0xMi0xOSAgWXVzdWtlIFN1enVraSAgPHV0
YXRhbmUudGVhQGdtYWlsLmNvbT4KKwogICAgICAgICBbREZHXVtGVExdIE5ld1JlZ2V4cCBzaG91
ZCBiZSBmYXN0CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xODA5NjAKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxl
ci9Ob2Rlc0NvZGVnZW4uY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9O
b2Rlc0NvZGVnZW4uY3BwCmluZGV4IDdmM2RjNTQ3M2Q3NGNlM2IyM2NjZGUyYTdhNmM1MTBhNmQ4
YWY2YTMuLmZjNWFkN2IyYWVkMWI3NTAzMTdjM2M2ODc2MDExNmI2OGU4MTU4NzAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAK
QEAgLTE0MSw4ICsxNDEsMTQgQEAgUmVnaXN0ZXJJRCogTnVtYmVyTm9kZTo6ZW1pdEJ5dGVjb2Rl
KEJ5dGVjb2RlR2VuZXJhdG9yJiBnZW5lcmF0b3IsIFJlZ2lzdGVySUQqIGQKIFJlZ2lzdGVySUQq
IFJlZ0V4cE5vZGU6OmVtaXRCeXRlY29kZShCeXRlY29kZUdlbmVyYXRvciYgZ2VuZXJhdG9yLCBS
ZWdpc3RlcklEKiBkc3QpCiB7CiAgICAgaWYgKGRzdCA9PSBnZW5lcmF0b3IuaWdub3JlZFJlc3Vs
dCgpKQotICAgICAgICByZXR1cm4gMDsKLSAgICByZXR1cm4gZ2VuZXJhdG9yLmVtaXROZXdSZWdF
eHAoZ2VuZXJhdG9yLmZpbmFsRGVzdGluYXRpb24oZHN0KSwgUmVnRXhwOjpjcmVhdGUoKmdlbmVy
YXRvci52bSgpLCBtX3BhdHRlcm4uc3RyaW5nKCksIHJlZ0V4cEZsYWdzKG1fZmxhZ3Muc3RyaW5n
KCkpKSk7CisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIFJlZ0V4cCogcmVnRXhwID0gUmVn
RXhwOjpjcmVhdGUoKmdlbmVyYXRvci52bSgpLCBtX3BhdHRlcm4uc3RyaW5nKCksIHJlZ0V4cEZs
YWdzKG1fZmxhZ3Muc3RyaW5nKCkpKTsKKyAgICBpZiAocmVnRXhwLT5pc1ZhbGlkKCkpCisgICAg
ICAgIHJldHVybiBnZW5lcmF0b3IuZW1pdE5ld1JlZ0V4cChnZW5lcmF0b3IuZmluYWxEZXN0aW5h
dGlvbihkc3QpLCByZWdFeHApOworICAgIGNvbnN0IGNoYXIqIG1lc3NhZ2VDaGFyYWN0ZXJzID0g
cmVnRXhwLT5lcnJvck1lc3NhZ2UoKTsKKyAgICBjb25zdCBJZGVudGlmaWVyJiBtZXNzYWdlID0g
Z2VuZXJhdG9yLnBhcnNlckFyZW5hKCkuaWRlbnRpZmllckFyZW5hKCkubWFrZUlkZW50aWZpZXIo
Z2VuZXJhdG9yLnZtKCksIGJpdHdpc2VfY2FzdDxjb25zdCBMQ2hhcio+KG1lc3NhZ2VDaGFyYWN0
ZXJzKSwgc3RybGVuKG1lc3NhZ2VDaGFyYWN0ZXJzKSk7CisgICAgZ2VuZXJhdG9yLmVtaXRUaHJv
d1N0YXRpY0Vycm9yKEVycm9yVHlwZTo6U3ludGF4RXJyb3IsIG1lc3NhZ2UpOworICAgIHJldHVy
biBnZW5lcmF0b3IuZW1pdExvYWQoZ2VuZXJhdG9yLmZpbmFsRGVzdGluYXRpb24oZHN0KSwganNV
bmRlZmluZWQoKSk7CiB9CiAKIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBUaGlz
Tm9kZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmRpZmYgLS1naXQgYS9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR01heUV4aXQuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdNYXlFeGl0LmNwcAppbmRleCA2ZTA4NzM2YzkyYTlhMDFhNzQwZDllNTM3
MzhhOWM0ZjgzYmVlMWRjLi4zMTI3YmRlNTEzM2JiZmE3ZWM3MWM5ODA2MmRlMzdmNzZiZWFlZWEz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR01heUV4aXQuY3BwCisr
KyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTWF5RXhpdC5jcHAKQEAgLTExNiw2ICsx
MTYsNyBAQCBFeGl0TW9kZSBtYXlFeGl0SW1wbChHcmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUsIFN0
YXRlVHlwZSYgc3RhdGUpCiAgICAgY2FzZSBOZXdBc3luY0Z1bmN0aW9uOgogICAgIGNhc2UgTmV3
QXN5bmNHZW5lcmF0b3JGdW5jdGlvbjoKICAgICBjYXNlIE5ld1N0cmluZ09iamVjdDoKKyAgICBj
YXNlIE5ld1JlZ2V4cDoKICAgICBjYXNlIFRvTnVtYmVyOgogICAgICAgICByZXN1bHQgPSBFeGl0
c0ZvckV4Y2VwdGlvbnM7CiAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAppbmRleCBmMzc4YWMzZjllODdiYzNjZWM5ZmVh
YmE1NjUwNTBkNzFkOWY4NTY5Li5hNjYwNWY3M2ZiNTJhZDUwMzJjNGViMTk0YmUzMmM1MjU4MTA3
OTJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZl
SklULmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklU
LmNwcApAQCAtOTEyNywxOSArOTEyNyw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVO
ZXdUeXBlZEFycmF5KE5vZGUqIG5vZGUpCiB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlTmV3
UmVnZXhwKE5vZGUqIG5vZGUpCiB7CiAgICAgUmVnRXhwKiByZWdleHAgPSBub2RlLT5jYXN0T3Bl
cmFuZDxSZWdFeHAqPigpOwotCi0gICAgLy8gRklYTUU6IElmIHRoZSBSZWdFeHAgaXMgaW52YWxp
ZCwgd2Ugc2hvdWxkIGVtaXQgYSBkaWZmZXJlbnQgYnl0ZWNvZGUuCi0gICAgLy8gaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MDk3MAotICAgIGlmICghcmVnZXhwLT5p
c1ZhbGlkKCkpIHsKLSAgICAgICAgZmx1c2hSZWdpc3RlcnMoKTsKLSAgICAgICAgR1BSRmx1c2hl
ZENhbGxSZXN1bHQgcmVzdWx0KHRoaXMpOwotCi0gICAgICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0
aW9uTmV3UmVnZXhwLCByZXN1bHQuZ3ByKCksIHJlZ2V4cCk7Ci0gICAgICAgIG1faml0LmV4Y2Vw
dGlvbkNoZWNrKCk7Ci0KLSAgICAgICAgY2VsbFJlc3VsdChyZXN1bHQuZ3ByKCksIG5vZGUpOwot
ICAgICAgICByZXR1cm47Ci0gICAgfQorICAgIEFTU0VSVChyZWdleHAtPmlzVmFsaWQoKSk7CiAK
ICAgICBHUFJUZW1wb3JhcnkgcmVzdWx0KHRoaXMpOwogICAgIEdQUlRlbXBvcmFyeSBzY3JhdGNo
MSh0aGlzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJE
RkdUb0IzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNw
cAppbmRleCBlZjk2MDdiOTZlNzU1MTlmY2U5NjIzYmQ2ZDQ2YWIxNmQ3ZDE5MGI3Li5jNjdlYTI4
NmE1MjVkMmMxZDkwZWU3ODk5MGJhZTJhNjc5NTJiMTI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvQjMuY3BwCkBAIC0xMDI2OCwxOCArMTAyNjgsNyBAQCBj
bGFzcyBMb3dlckRGR1RvQjMgewogICAgIHsKICAgICAgICAgRnJvemVuVmFsdWUqIHJlZ2V4cCA9
IG1fbm9kZS0+Y2VsbE9wZXJhbmQoKTsKICAgICAgICAgQVNTRVJUKHJlZ2V4cC0+Y2VsbCgpLT5p
bmhlcml0cyh2bSgpLCBSZWdFeHA6OmluZm8oKSkpOwotCi0gICAgICAgIC8vIEZJWE1FOiBJZiB0
aGUgUmVnRXhwIGlzIGludmFsaWQsIHdlIHNob3VsZCBlbWl0IGEgZGlmZmVyZW50IGJ5dGVjb2Rl
LgotICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgw
OTcwCi0gICAgICAgIGlmICghbV9ub2RlLT5jYXN0T3BlcmFuZDxSZWdFeHAqPigpLT5pc1ZhbGlk
KCkpIHsKLSAgICAgICAgICAgIExWYWx1ZSByZXN1bHQgPSB2bUNhbGwoCi0gICAgICAgICAgICAg
ICAgcG9pbnRlclR5cGUoKSwKLSAgICAgICAgICAgICAgICBtX291dC5vcGVyYXRpb24ob3BlcmF0
aW9uTmV3UmVnZXhwKSwgbV9jYWxsRnJhbWUsCi0gICAgICAgICAgICAgICAgZnJvemVuUG9pbnRl
cihyZWdleHApKTsKLQotICAgICAgICAgICAgc2V0SlNWYWx1ZShyZXN1bHQpOwotICAgICAgICAg
ICAgcmV0dXJuOwotICAgICAgICB9CisgICAgICAgIEFTU0VSVChtX25vZGUtPmNhc3RPcGVyYW5k
PFJlZ0V4cCo+KCktPmlzVmFsaWQoKSk7CiAKICAgICAgICAgTEJhc2ljQmxvY2sgc2xvd0Nhc2Ug
PSBtX291dC5uZXdCbG9jaygpOwogICAgICAgICBMQmFzaWNCbG9jayBjb250aW51YXRpb24gPSBt
X291dC5uZXdCbG9jaygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9K
SVRPcGVyYXRpb25zLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9u
cy5jcHAKaW5kZXggNzlkM2M5ZTNjYzRkN2FhNTIxMzIzMmVmMDk0OWUwOGZkODFhYTAxYS4uZDM2
MmY0NjFhNzA1MzMyMDdkYjE1MjU5NzU0YjJmYjMzNzIzYjEyNiAxMDA2NDQKLS0tIGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25zLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCkBAIC0xMjY0LDE3ICsxMjY0LDkgQEAgSlND
ZWxsKiBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbk5ld1JlZ2V4cChFeGVjU3RhdGUqIGV4ZWMsIEpT
Q2VsbCogcmVnZXhwUHRyKQogICAgIFN1cGVyU2FtcGxlclNjb3BlIHN1cGVyU2FtcGxlclNjb3Bl
KGZhbHNlKTsKICAgICBWTSYgdm0gPSBleGVjLT52bSgpOwogICAgIE5hdGl2ZUNhbGxGcmFtZVRy
YWNlciB0cmFjZXIoJnZtLCBleGVjKTsKLSAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9USFJPV19T
Q09QRSh2bSk7CiAKICAgICBSZWdFeHAqIHJlZ2V4cCA9IHN0YXRpY19jYXN0PFJlZ0V4cCo+KHJl
Z2V4cFB0cik7Ci0KLSAgICAvLyBGSVhNRTogSWYgdGhlIFJlZ0V4cCBpcyBpbnZhbGlkLCB3ZSBz
aG91bGQgZW1pdCBhIGRpZmZlcmVudCBieXRlY29kZS4KLSAgICAvLyBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgwOTcwCi0gICAgaWYgKCFyZWdleHAtPmlzVmFsaWQo
KSkgewotICAgICAgICB0aHJvd0V4Y2VwdGlvbihleGVjLCBzY29wZSwgY3JlYXRlU3ludGF4RXJy
b3IoZXhlYywgcmVnZXhwLT5lcnJvck1lc3NhZ2UoKSkpOwotICAgICAgICByZXR1cm4gbnVsbHB0
cjsKLSAgICB9Ci0KKyAgICBBU1NFUlQocmVnRXhwLT5pc1ZhbGlkKCkpOwogICAgIHJldHVybiBS
ZWdFeHBPYmplY3Q6OmNyZWF0ZSh2bSwgZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpLT5yZWdF
eHBTdHJ1Y3R1cmUoKSwgcmVnZXhwKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9s
bGludC9MTEludFNsb3dQYXRocy5jcHAKaW5kZXggODI2NGIzYmY4YTg4MGFiNjRmYTUxMzU1MDNh
ZTczOGU1YThhNDMxMi4uNjMyYmZkYjFhNzI0NmJlZTJjMjMwODNmYTczZmEyZDMxNTJlNzhkNyAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xMSW50U2xvd1BhdGhzLmNw
cAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTExJbnRTbG93UGF0aHMuY3BwCkBA
IC01NTIsMTEgKzU1Miw3IEBAIExMSU5UX1NMT1dfUEFUSF9ERUNMKHNsb3dfcGF0aF9uZXdfcmVn
ZXhwKQogewogICAgIExMSU5UX0JFR0lOKCk7CiAgICAgUmVnRXhwKiByZWdFeHAgPSBleGVjLT5j
b2RlQmxvY2soKS0+cmVnZXhwKHBjWzJdLnUub3BlcmFuZCk7Ci0KLSAgICAvLyBGSVhNRTogSWYg
dGhlIFJlZ0V4cCBpcyBpbnZhbGlkLCB3ZSBzaG91bGQgZW1pdCBhIGRpZmZlcmVudCBieXRlY29k
ZS4KLSAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgwOTcw
Ci0gICAgaWYgKCFyZWdFeHAtPmlzVmFsaWQoKSkKLSAgICAgICAgTExJTlRfVEhST1coY3JlYXRl
U3ludGF4RXJyb3IoZXhlYywgcmVnRXhwLT5lcnJvck1lc3NhZ2UoKSkpOworICAgIEFTU0VSVChy
ZWdFeHAtPmlzVmFsaWQoKSk7CiAgICAgTExJTlRfUkVUVVJOKFJlZ0V4cE9iamVjdDo6Y3JlYXRl
KHZtLCBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCktPnJlZ0V4cFN0cnVjdHVyZSgpLCByZWdF
eHApKTsKIH0KIApkaWZmIC0tZ2l0IGEvSlNUZXN0cy9DaGFuZ2VMb2cgYi9KU1Rlc3RzL0NoYW5n
ZUxvZwppbmRleCAxODgzZTM5MzUxMDI5MzliY2FjNzI3NmNlMTY4OWIzYWMwMmEzYzdlLi4xODJk
OTQxMzUyYTk4ZTVhMDE5NmY3MTE0ZjFkY2U4NDAzNjc2Nzc1IDEwMDY0NAotLS0gYS9KU1Rlc3Rz
L0NoYW5nZUxvZworKysgYi9KU1Rlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDE3
LTEyLTE5ICBZdXN1a2UgU3V6dWtpICA8dXRhdGFuZS50ZWFAZ21haWwuY29tPgorCisgICAgICAg
IFtKU0NdIERvIG5vdCBjaGVjayBpc1ZhbGlkKCkgaW4gb3BfbmV3X3JlZ2V4cAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgwOTcwCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzdHJlc3MvcmVnZXhwLXN5
bnRheC1lcnJvci1pbnZhbGlkLWZsYWdzLmpzOiBBZGRlZC4KKyAgICAgICAgKHNob3VsZFRocm93
KToKKwogMjAxNy0xMi0xOCAgR3VpbGxhdW1lIEVtb250ICA8Z3VpamVtb250QGlnYWxpYS5jb20+
CiAKICAgICAgICAgU2tpcCBzdHJlc3MvY2FsbC1hcHBseS1leHBvbmVudGlhbC1ieXRlY29kZS1z
aXplLmpzIHVubGVzcyB4ODYtNjQgb3IgYXJtNjQKZGlmZiAtLWdpdCBhL0pTVGVzdHMvc3RyZXNz
L3JlZ2V4cC1zeW50YXgtZXJyb3ItaW52YWxpZC1mbGFncy5qcyBiL0pTVGVzdHMvc3RyZXNzL3Jl
Z2V4cC1zeW50YXgtZXJyb3ItaW52YWxpZC1mbGFncy5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNDk2MWJhZWNj
ZGUwZmY2ZTg1MTk1YTAwN2ExZmJhMjRiYmUzNmQzCi0tLSAvZGV2L251bGwKKysrIGIvSlNUZXN0
cy9zdHJlc3MvcmVnZXhwLXN5bnRheC1lcnJvci1pbnZhbGlkLWZsYWdzLmpzCkBAIC0wLDAgKzEs
MjMgQEAKK2Z1bmN0aW9uIHNob3VsZFRocm93KGZ1bmMsIGVycm9yTWVzc2FnZSkgeworICAgIHZh
ciBlcnJvclRocm93biA9IGZhbHNlOworICAgIHZhciBlcnJvciA9IG51bGw7CisgICAgdHJ5IHsK
KyAgICAgICAgZnVuYygpOworICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgZXJyb3JUaHJvd24g
PSB0cnVlOworICAgICAgICBlcnJvciA9IGU7CisgICAgfQorICAgIGlmICghZXJyb3JUaHJvd24p
CisgICAgICAgIHRocm93IG5ldyBFcnJvcignbm90IHRocm93bicpOworICAgIGlmIChTdHJpbmco
ZXJyb3IpICE9PSBlcnJvck1lc3NhZ2UpCisgICAgICAgIHRocm93IG5ldyBFcnJvcihgYmFkIGVy
cm9yOiAke1N0cmluZyhlcnJvcil9YCk7Cit9CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIHJl
dHVybiAvSGVsbG8vY29jb2E7Cit9Citub0lubGluZSh0ZXN0KTsKKworZm9yICh2YXIgaSA9IDA7
IGkgPCAxZTQ7ICsraSkKKyAgICBzaG91bGRUaHJvdyh0ZXN0LCBgU3ludGF4RXJyb3I6IEludmFs
aWQgcmVndWxhciBleHByZXNzaW9uOiBpbnZhbGlkIGZsYWdzYCk7Cg==
</data>
<flag name="review"
          id="348822"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
      

    </bug>

</bugzilla>