<?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>222452</bug_id>
          
          <creation_ts>2021-02-25 19:11:21 -0800</creation_ts>
          <short_desc>JSC Crash in makeString() while creating Error object.</short_desc>
          <delta_ts>2021-03-09 15:30:38 -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>Linux</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>sunlili</reporter>
          <assigned_to name="Keith Miller">keith_miller</assigned_to>
          <cc>ap</cc>
    
    <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fpizlo</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>sam</cc>
    
    <cc>smoley</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1733638</commentid>
    <comment_count>0</comment_count>
      <attachid>421597</attachid>
    <who name="">sunlili</who>
    <bug_when>2021-02-25 19:11:21 -0800</bug_when>
    <thetext>Created attachment 421597
the test case causing a crash

Hello, following test case can cause a crash in the latest jsc.

bar_693 = &apos;2.3023e-320&apos;;
foo_508 = bar_693.padEnd(2147483620, 1);
var newInstance = new foo_508(1, 2);

crash output:
Aborted (core dumped)

The JSC(WebKit-2.30.5) is compiled with static, debug option. 

We do some simple analysis for this crash. &apos;foo_508&apos; is a large string. When &apos;foo_508&apos; is used as a contructor, a TypeError should be thrown. However, during creating error message, &apos;foo_508&apos; is evaluated in DerivedSources/ForwardingHeaders/wtf/text/StringConcatenate.h:makeString(). Since the foo_508&apos;s length is overflowed, a null string is returned and assigned to &apos;result&apos; in makeString(), and causes the crash. I&apos;m not sure this crash is a bug or a deliberate design.

ISec Lab.
2021.2.26</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1733817</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2021-02-26 09:43:03 -0800</bug_when>
    <thetext>I don&apos;t think that we would call it entirely correct, but it is a long standing intentional behavior.


template&lt;typename... StringTypes&gt;
String makeString(StringTypes... strings)
{
    String result = tryMakeString(strings...);
    if (!result)
        CRASH();
    return result;
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1733937</commentid>
    <comment_count>2</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-02-26 12:37:37 -0800</bug_when>
    <thetext>The crash in makeString is 100% intentional.

The use of makeString rather than tryMakeString allows callers to select whether to crash or handle memory exhaustion differently. The full name of makeString is &quot;makeString and crash if there is insufficient memory&quot;.

So the real question is about what invokes makeString and why.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1733995</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2021-02-26 14:58:33 -0800</bug_when>
    <thetext>Crash stack:

WTF::String WTF::makeString&lt;WTF::String, char const*, WTF::String, char const*&gt;(WTF::String, char const*, WTF::String, char const*) + 268

WTF::String WTF::makeString&lt;WTF::String, char const*, WTF::String, char const*&gt;(WTF::String, char const*, WTF::String, char const*) + 152

JSC::defaultSourceAppender(WTF::String const&amp;, WTF::String const&amp;, JSC::RuntimeType, JSC::ErrorInstance::SourceTextWhereErrorOccurred) + 128

JSC::ErrorInstance::finishCreation(JSC::VM&amp;, JSC::JSGlobalObject*, WTF::String const&amp;, WTF::String (*)(WTF::String const&amp;, WTF::String const&amp;, JSC::RuntimeType, JSC::ErrorInstance::SourceTextWhereErrorOccurred), JSC::RuntimeType, bool) + 1776

JSC::createTypeError(JSC::JSGlobalObject*, WTF::String const&amp;, WTF::String (*)(WTF::String const&amp;, WTF::String const&amp;, JSC::RuntimeType, JSC::ErrorInstance::SourceTextWhereErrorOccurred), JSC::RuntimeType) + 192

JSC::createError(JSC::JSGlobalObject*, JSC::JSValue, WTF::String const&amp;, WTF::String (*)(WTF::String const&amp;, WTF::String const&amp;, JSC::RuntimeType, JSC::ErrorInstance::SourceTextWhereErrorOccurred)) + 336</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1734062</commentid>
    <comment_count>4</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-02-26 16:22:06 -0800</bug_when>
    <thetext>Need one more level of backtrace so we can see who’s passing a long string to createError.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1734063</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-02-26 16:25:31 -0800</bug_when>
    <thetext>I think the issue is that the error creation function is trying to get a description of the object, and ends up with the content of the string.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1736036</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-03-04 15:08:56 -0800</bug_when>
    <thetext>&lt;rdar://problem/75059605&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1736046</commentid>
    <comment_count>7</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-03-04 15:19:47 -0800</bug_when>
    <thetext>My take on our &quot;architectural approach&quot; to this: We should not pass an arbitrary, JavaScript-code-controlled, string to createError without doing some kind of length limit first.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1736125</commentid>
    <comment_count>8</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2021-03-04 17:53:33 -0800</bug_when>
    <thetext>Just to be clear, this is not be blocked on me or the reporter posting more information - this readily reproduces by pasting the test into the jsc tool on macOS.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1737691</commentid>
    <comment_count>9</comment_count>
      <attachid>422739</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2021-03-09 12:07:23 -0800</bug_when>
    <thetext>Created attachment 422739
MaybeNeedsTestRebaselines</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1737735</commentid>
    <comment_count>10</comment_count>
      <attachid>422739</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2021-03-09 13:22:42 -0800</bug_when>
    <thetext>Comment on attachment 422739
MaybeNeedsTestRebaselines

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1737762</commentid>
    <comment_count>11</comment_count>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2021-03-09 14:32:15 -0800</bug_when>
    <thetext>Talked to Darin in Slack and we settled on a 2KB max.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1737765</commentid>
    <comment_count>12</comment_count>
      <attachid>422758</attachid>
    <who name="Keith Miller">keith_miller</who>
    <bug_when>2021-03-09 14:33:59 -0800</bug_when>
    <thetext>Created attachment 422758
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1737805</commentid>
    <comment_count>13</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-03-09 15:30:35 -0800</bug_when>
    <thetext>Committed r274181: &lt;https://commits.webkit.org/r274181&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 422758.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>421597</attachid>
            <date>2021-02-25 19:11:21 -0800</date>
            <delta_ts>2021-02-25 19:11:21 -0800</delta_ts>
            <desc>the test case causing a crash</desc>
            <filename>poc.js</filename>
            <type>text/javascript</type>
            <size>104</size>
            <attacher>sunlili</attacher>
            
              <data encoding="base64">YmFyXzY5MyA9ICcyLjMwMjNlLTMyMCc7DQpmb29fNTA4ID0gYmFyXzY5My5wYWRFbmQoMjE0NzQ4
MzYyMCwgMSk7DQp2YXIgbmV3SW5zdGFuY2UgPSBuZXcgZm9vXzUwOCgxLCAyKTs=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>422739</attachid>
            <date>2021-03-09 12:07:23 -0800</date>
            <delta_ts>2021-03-09 14:33:38 -0800</delta_ts>
            <desc>MaybeNeedsTestRebaselines</desc>
            <filename>bug-222452-20210309120722.patch</filename>
            <type>text/plain</type>
            <size>2801</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczOTc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
NDYzNjZlMDI3MWUwY2Y3YmFlNzA2NDQ5Zjk3YjU3NWYyZjJhYzJjLi5jYzk2MTI1ZGFjMTEwM2Q3
ZTQ2NTZiMGUxNzg2MTQ2YzFlZjUzOWMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMSBAQAorMjAyMS0wMy0wOSAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KKworICAgICAgICBKU0MgQ3Jhc2ggaW4gbWFrZVN0cmluZygpCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjI0NTIKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIGNsYW1wcyB0aGUg
dXNlciBwcm92aWRlZCBwYXJ0IG9mIGVycm9yIG1lc3NhZ2VzIHRvCisgICAgICAgIDEwLU1CIG9m
IGNoYXJhY3RlcnMuIFRlY2huaWNhbGx5LCBpdCBjb3VsZCBhY3R1YWxseSBiZSAyMC1NQiBvZgor
ICAgICAgICBkYXRhIGZvciAxNi1iaXQgc3RyaW5ncy4gVGhpcyBpcyBhIHNvbWV3aGF0IHJhbmRv
bWx5IHBpY2tlZCBsZW5ndGgKKyAgICAgICAgYnV0IHNlZW1zIGxpa2UgaXQgc2hvdWxkIGJlIHN1
ZmZpY2llbnQgZm9yIGFueSBub3JtYWwgdXNlIGNhc2UgSQorICAgICAgICBjYW4gdGhpbmsgb2Yu
CisKKyAgICAgICAgKiBydW50aW1lL0V4Y2VwdGlvbkhlbHBlcnMuY3BwOgorICAgICAgICAoSlND
OjpjbGFtcEVycm9yTWVzc2FnZSk6CisgICAgICAgIChKU0M6OmRlZmF1bHRBcHByb3hpbWF0ZVNv
dXJjZUVycm9yKToKKyAgICAgICAgKEpTQzo6ZGVmYXVsdFNvdXJjZUFwcGVuZGVyKToKKwogMjAy
MS0wMy0wNSAgVGFkZXUgWmFnYWxsbyAgPHR6YWdhbGxvQGFwcGxlLmNvbT4KIAogICAgICAgICBP
cEdldFByaXZhdGVOYW1lIG5lZWRzIHRvIGJlIGxpc3RlZCBpbiBGT1JfRUFDSF9PUENPREVfV0lU
SF9WQUxVRV9QUk9GSUxFCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9FeGNlcHRpb25IZWxwZXJzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4
Y2VwdGlvbkhlbHBlcnMuY3BwCmluZGV4IDJkZWZlYTM3YjM2ZjFkZDM1MDFlMThjYzBmZTIyOWIz
YTRlNzYwNzAuLjE4YTI2ZWM5OTRjODE2NDNkMzk3YzJiMjNkMmJhYWUxOWQwMWNlY2QgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4Y2VwdGlvbkhlbHBlcnMuY3Bw
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0V4Y2VwdGlvbkhlbHBlcnMuY3Bw
CkBAIC05OCw5ICs5OCwxNiBAQCBTdHJpbmcgZXJyb3JEZXNjcmlwdGlvbkZvclZhbHVlKEpTR2xv
YmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTVmFsdWUgdikKICAgICByZXR1cm4gdi50b1N0cmlu
ZyhnbG9iYWxPYmplY3QpLT52YWx1ZShnbG9iYWxPYmplY3QpOwogfQogICAgIAorc3RhdGljIFN0
cmluZ1ZpZXcgY2xhbXBFcnJvck1lc3NhZ2UoY29uc3QgU3RyaW5nJiBvcmlnaW5hbE1lc3NhZ2Up
Cit7CisgICAgLy8gSG9wZWZ1bGx5IDEwIE1CIGlzIHN1ZmZpY2llbnRseSBsb25nLiBOb3RlLCB0
aGlzIGlzIHRoZSBsZW5ndGggb2YgdGhlIHN0cmluZyBub3QgdGhlIG51bWJlciBvZiBieXRlcyB1
c2VkLgorICAgIGNvbnN0ZXhwciB1bnNpZ25lZCBtYXhMZW5ndGggPSAxMCAqIE1COworICAgIHJl
dHVybiBTdHJpbmdWaWV3KG9yaWdpbmFsTWVzc2FnZSkuc3Vic3RyaW5nKDAsIG1heExlbmd0aCk7
Cit9CisKIHN0YXRpYyBTdHJpbmcgZGVmYXVsdEFwcHJveGltYXRlU291cmNlRXJyb3IoY29uc3Qg
U3RyaW5nJiBvcmlnaW5hbE1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVGV4dCkKIHsKLSAg
ICByZXR1cm4gbWFrZVN0cmluZyhvcmlnaW5hbE1lc3NhZ2UsICIgKG5lYXIgJy4uLiIsIHNvdXJj
ZVRleHQsICIuLi4nKSIpOworICAgIHJldHVybiBtYWtlU3RyaW5nKGNsYW1wRXJyb3JNZXNzYWdl
KG9yaWdpbmFsTWVzc2FnZSksICIgKG5lYXIgJy4uLiIsIHNvdXJjZVRleHQsICIuLi4nKSIpOwog
fQogCiBTdHJpbmcgZGVmYXVsdFNvdXJjZUFwcGVuZGVyKGNvbnN0IFN0cmluZyYgb3JpZ2luYWxN
ZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZVRleHQsIFJ1bnRpbWVUeXBlLCBFcnJvckluc3Rh
bmNlOjpTb3VyY2VUZXh0V2hlcmVFcnJvck9jY3VycmVkIG9jY3VycmVuY2UpCkBAIC0xMDksNyAr
MTE2LDcgQEAgU3RyaW5nIGRlZmF1bHRTb3VyY2VBcHBlbmRlcihjb25zdCBTdHJpbmcmIG9yaWdp
bmFsTWVzc2FnZSwgY29uc3QgU3RyaW5nJiBzb3VyY2UKICAgICAgICAgcmV0dXJuIGRlZmF1bHRB
cHByb3hpbWF0ZVNvdXJjZUVycm9yKG9yaWdpbmFsTWVzc2FnZSwgc291cmNlVGV4dCk7CiAKICAg
ICBBU1NFUlQob2NjdXJyZW5jZSA9PSBFcnJvckluc3RhbmNlOjpGb3VuZEV4YWN0U291cmNlKTsK
LSAgICByZXR1cm4gbWFrZVN0cmluZyhvcmlnaW5hbE1lc3NhZ2UsICIgKGV2YWx1YXRpbmcgJyIs
IHNvdXJjZVRleHQsICInKSIpOworICAgIHJldHVybiBtYWtlU3RyaW5nKGNsYW1wRXJyb3JNZXNz
YWdlKG9yaWdpbmFsTWVzc2FnZSksICIgKGV2YWx1YXRpbmcgJyIsIHNvdXJjZVRleHQsICInKSIp
OwogfQogCiBzdGF0aWMgU3RyaW5nIGZ1bmN0aW9uQ2FsbEJhc2UoY29uc3QgU3RyaW5nJiBzb3Vy
Y2VUZXh0KQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>422758</attachid>
            <date>2021-03-09 14:33:59 -0800</date>
            <delta_ts>2021-03-09 15:30:37 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-222452-20210309143358.patch</filename>
            <type>text/plain</type>
            <size>4306</size>
            <attacher name="Keith Miller">keith_miller</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjczOTc4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
NDYzNjZlMDI3MWUwY2Y3YmFlNzA2NDQ5Zjk3YjU3NWYyZjJhYzJjLi5iYTkxOWEwMDA2YTA0ZjFl
MjRhNDRlYzcxMTBiMGI4ODQ5MWQ1NzFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMSBAQAorMjAyMS0wMy0wOSAgS2VpdGggTWlsbGVyICA8a2VpdGhfbWlsbGVyQGFwcGxl
LmNvbT4KKworICAgICAgICBKU0MgQ3Jhc2ggaW4gbWFrZVN0cmluZygpIHdoaWxlIGNyZWF0aW5n
IEVycm9yIG9iamVjdC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIyMjQ1MgorCisgICAgICAgIFJldmlld2VkIGJ5IE1hcmsgTGFtLgorCisgICAgICAg
IFRoaXMgcGF0Y2ggY2xhbXBzIHRoZSB1c2VyIHByb3ZpZGVkIHBhcnQgb2YgZXJyb3IgbWVzc2Fn
ZXMgdG8KKyAgICAgICAgMi1LQiBvZiBjaGFyYWN0ZXJzLiBUZWNobmljYWxseSwgaXQgY291bGQg
YWN0dWFsbHkgYmUgNC1LQiBvZgorICAgICAgICBkYXRhIGZvciAxNi1iaXQgc3RyaW5ncy4gVGhp
cyBpcyBhIHNvbWV3aGF0IHJhbmRvbWx5IHBpY2tlZCBsZW5ndGgKKyAgICAgICAgYnV0IHNlZW1z
IGxpa2UgaXQgc2hvdWxkIGJlIHN1ZmZpY2llbnQgZm9yIGFueSBub3JtYWwgdXNlIGNhc2UgSQor
ICAgICAgICBjYW4gdGhpbmsgb2YuCisKKyAgICAgICAgKiBydW50aW1lL0V4Y2VwdGlvbkhlbHBl
cnMuY3BwOgorICAgICAgICAoSlNDOjpjbGFtcEVycm9yTWVzc2FnZSk6CisgICAgICAgIChKU0M6
OmRlZmF1bHRBcHByb3hpbWF0ZVNvdXJjZUVycm9yKToKKyAgICAgICAgKEpTQzo6ZGVmYXVsdFNv
dXJjZUFwcGVuZGVyKToKKwogMjAyMS0wMy0wNSAgVGFkZXUgWmFnYWxsbyAgPHR6YWdhbGxvQGFw
cGxlLmNvbT4KIAogICAgICAgICBPcEdldFByaXZhdGVOYW1lIG5lZWRzIHRvIGJlIGxpc3RlZCBp
biBGT1JfRUFDSF9PUENPREVfV0lUSF9WQUxVRV9QUk9GSUxFCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9FeGNlcHRpb25IZWxwZXJzLmNwcCBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0V4Y2VwdGlvbkhlbHBlcnMuY3BwCmluZGV4IDJkZWZlYTM3YjM2
ZjFkZDM1MDFlMThjYzBmZTIyOWIzYTRlNzYwNzAuLjRiNDUwMGIwZTkxZmU2ZjdkYTdkNTY2NTQz
YjM2Y2IzN2JhMDVhMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0V4Y2VwdGlvbkhlbHBlcnMuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L0V4Y2VwdGlvbkhlbHBlcnMuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAo
QykgMjAwOC0yMDIwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAwOC0yMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtOTgsOSArOTgsMTYgQEAgU3RyaW5nIGVycm9yRGVz
Y3JpcHRpb25Gb3JWYWx1ZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU1ZhbHVlIHYp
CiAgICAgcmV0dXJuIHYudG9TdHJpbmcoZ2xvYmFsT2JqZWN0KS0+dmFsdWUoZ2xvYmFsT2JqZWN0
KTsKIH0KICAgICAKK3N0YXRpYyBTdHJpbmdWaWV3IGNsYW1wRXJyb3JNZXNzYWdlKGNvbnN0IFN0
cmluZyYgb3JpZ2luYWxNZXNzYWdlKQoreworICAgIC8vIEhvcGVmdWxseSB0aGlzIGlzIHN1ZmZp
Y2llbnRseSBsb25nLiBOb3RlLCB0aGlzIGlzIHRoZSBsZW5ndGggb2YgdGhlIHN0cmluZyBub3Qg
dGhlIG51bWJlciBvZiBieXRlcyB1c2VkLgorICAgIGNvbnN0ZXhwciB1bnNpZ25lZCBtYXhMZW5n
dGggPSAyICogS0I7CisgICAgcmV0dXJuIFN0cmluZ1ZpZXcob3JpZ2luYWxNZXNzYWdlKS5zdWJz
dHJpbmcoMCwgbWF4TGVuZ3RoKTsKK30KKwogc3RhdGljIFN0cmluZyBkZWZhdWx0QXBwcm94aW1h
dGVTb3VyY2VFcnJvcihjb25zdCBTdHJpbmcmIG9yaWdpbmFsTWVzc2FnZSwgY29uc3QgU3RyaW5n
JiBzb3VyY2VUZXh0KQogewotICAgIHJldHVybiBtYWtlU3RyaW5nKG9yaWdpbmFsTWVzc2FnZSwg
IiAobmVhciAnLi4uIiwgc291cmNlVGV4dCwgIi4uLicpIik7CisgICAgcmV0dXJuIG1ha2VTdHJp
bmcoY2xhbXBFcnJvck1lc3NhZ2Uob3JpZ2luYWxNZXNzYWdlKSwgIiAobmVhciAnLi4uIiwgc291
cmNlVGV4dCwgIi4uLicpIik7CiB9CiAKIFN0cmluZyBkZWZhdWx0U291cmNlQXBwZW5kZXIoY29u
c3QgU3RyaW5nJiBvcmlnaW5hbE1lc3NhZ2UsIGNvbnN0IFN0cmluZyYgc291cmNlVGV4dCwgUnVu
dGltZVR5cGUsIEVycm9ySW5zdGFuY2U6OlNvdXJjZVRleHRXaGVyZUVycm9yT2NjdXJyZWQgb2Nj
dXJyZW5jZSkKQEAgLTEwOSw3ICsxMTYsNyBAQCBTdHJpbmcgZGVmYXVsdFNvdXJjZUFwcGVuZGVy
KGNvbnN0IFN0cmluZyYgb3JpZ2luYWxNZXNzYWdlLCBjb25zdCBTdHJpbmcmIHNvdXJjZQogICAg
ICAgICByZXR1cm4gZGVmYXVsdEFwcHJveGltYXRlU291cmNlRXJyb3Iob3JpZ2luYWxNZXNzYWdl
LCBzb3VyY2VUZXh0KTsKIAogICAgIEFTU0VSVChvY2N1cnJlbmNlID09IEVycm9ySW5zdGFuY2U6
OkZvdW5kRXhhY3RTb3VyY2UpOwotICAgIHJldHVybiBtYWtlU3RyaW5nKG9yaWdpbmFsTWVzc2Fn
ZSwgIiAoZXZhbHVhdGluZyAnIiwgc291cmNlVGV4dCwgIicpIik7CisgICAgcmV0dXJuIG1ha2VT
dHJpbmcoY2xhbXBFcnJvck1lc3NhZ2Uob3JpZ2luYWxNZXNzYWdlKSwgIiAoZXZhbHVhdGluZyAn
Iiwgc291cmNlVGV4dCwgIicpIik7CiB9CiAKIHN0YXRpYyBTdHJpbmcgZnVuY3Rpb25DYWxsQmFz
ZShjb25zdCBTdHJpbmcmIHNvdXJjZVRleHQpCmRpZmYgLS1naXQgYS9KU1Rlc3RzL0NoYW5nZUxv
ZyBiL0pTVGVzdHMvQ2hhbmdlTG9nCmluZGV4IGU3OTc1MWUzMWVhYjI2YzcyYmMxZTdlZDI0OGVh
M2JlOWM4YWJmNmYuLjIxMGQ0ZTVmZWZkMWFkNzRhYjE0NmUwNjQ2MDFmYjljZjg2NWRjZWUgMTAw
NjQ0Ci0tLSBhL0pTVGVzdHMvQ2hhbmdlTG9nCisrKyBiL0pTVGVzdHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTIgQEAKKzIwMjEtMDMtMDkgIEtlaXRoIE1pbGxlciAgPGtlaXRoX21pbGxlckBhcHBs
ZS5jb20+CisKKyAgICAgICAgSlNDIENyYXNoIGluIG1ha2VTdHJpbmcoKSB3aGlsZSBjcmVhdGlu
ZyBFcnJvciBvYmplY3QuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMjI0NTIKKworICAgICAgICBSZXZpZXdlZCBieSBNYXJrIExhbS4KKworICAgICAg
ICAqIHN0cmVzcy9sYXJnZS1zdHJpbmctc2hvdWxkLW5vdC1jcmFzaC1lcnJvci1jcmVhdGlvbi5q
czogQWRkZWQuCisKIDIwMjEtMDMtMDUgIFRhZGV1IFphZ2FsbG8gIDx0emFnYWxsb0BhcHBsZS5j
b20+CiAKICAgICAgICAgT3BHZXRQcml2YXRlTmFtZSBuZWVkcyB0byBiZSBsaXN0ZWQgaW4gRk9S
X0VBQ0hfT1BDT0RFX1dJVEhfVkFMVUVfUFJPRklMRQpkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJl
c3MvbGFyZ2Utc3RyaW5nLXNob3VsZC1ub3QtY3Jhc2gtZXJyb3ItY3JlYXRpb24uanMgYi9KU1Rl
c3RzL3N0cmVzcy9sYXJnZS1zdHJpbmctc2hvdWxkLW5vdC1jcmFzaC1lcnJvci1jcmVhdGlvbi5q
cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5hMjQxZjQ3ODIxZTViMDk0ZDc3MjhmNTlmZjZlMGY3NmZjMGIxMzI3Ci0t
LSAvZGV2L251bGwKKysrIGIvSlNUZXN0cy9zdHJlc3MvbGFyZ2Utc3RyaW5nLXNob3VsZC1ub3Qt
Y3Jhc2gtZXJyb3ItY3JlYXRpb24uanMKQEAgLTAsMCArMSw5IEBACisvL0Agc2tpcCBpZiAkbWVt
b3J5TGltaXRlZAorCit0cnkgeworICAgIGJhcl82OTMgPSAnMi4zMDIzZS0zMjAnOworICAgIGZv
b181MDggPSBiYXJfNjkzLnBhZEVuZCgyMTQ3NDgzNjIwLCAxKTsKKyAgICB2YXIgbmV3SW5zdGFu
Y2UgPSBuZXcgZm9vXzUwOCgxLCAyKTsKK30gY2F0Y2ggeworICAgIC8vIEFsbG9jYXRpbmcgdGhp
cyBlcnJvciBzaG91bGRuJ3QgY3Jhc2ggdXMuCit9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>