<?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>201021</bug_id>
          
          <creation_ts>2019-08-21 19:13:48 -0700</creation_ts>
          <short_desc>Add missing exception check in canonicalizeLocaleList</short_desc>
          <delta_ts>2019-08-22 17:23:03 -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>WebKit 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="Justin Michaud">justin_michaud</reporter>
          <assigned_to name="Justin Michaud">justin_michaud</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1563894</commentid>
    <comment_count>0</comment_count>
    <who name="Justin Michaud">justin_michaud</who>
    <bug_when>2019-08-21 19:13:48 -0700</bug_when>
    <thetext>Add missing exception check in canonicalizeLocaleList</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1563895</commentid>
    <comment_count>1</comment_count>
      <attachid>376965</attachid>
    <who name="Justin Michaud">justin_michaud</who>
    <bug_when>2019-08-21 19:14:16 -0700</bug_when>
    <thetext>Created attachment 376965
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1563896</commentid>
    <comment_count>2</comment_count>
    <who name="Justin Michaud">justin_michaud</who>
    <bug_when>2019-08-21 19:15:27 -0700</bug_when>
    <thetext>&lt;rdar://54456311&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1563898</commentid>
    <comment_count>3</comment_count>
      <attachid>376965</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2019-08-21 19:17:25 -0700</bug_when>
    <thetext>Comment on attachment 376965
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1564135</commentid>
    <comment_count>4</comment_count>
      <attachid>376965</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-08-22 11:18:11 -0700</bug_when>
    <thetext>Comment on attachment 376965
Patch

Clearing flags on attachment: 376965

Committed r249020: &lt;https://trac.webkit.org/changeset/249020&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1564136</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-08-22 11:18:12 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1564301</commentid>
    <comment_count>6</comment_count>
      <attachid>376965</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2019-08-22 16:39:16 -0700</bug_when>
    <thetext>Comment on attachment 376965
Patch

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

&gt; Source/JavaScriptCore/runtime/IntlObject.cpp:552
&gt;              JSString* tag = kValue.toString(&amp;state);
&gt;              RETURN_IF_EXCEPTION(scope, Vector&lt;String&gt;());
&gt;  
&gt; -            String canonicalizedTag = canonicalizeLanguageTag(tag-&gt;value(&amp;state));
&gt; +            auto tagValue = tag-&gt;value(&amp;state);

Better idiom for this is toWTFString.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1564318</commentid>
    <comment_count>7</comment_count>
      <attachid>376965</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2019-08-22 16:59:35 -0700</bug_when>
    <thetext>Comment on attachment 376965
Patch

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

&gt;&gt; Source/JavaScriptCore/runtime/IntlObject.cpp:552
&gt;&gt; +            auto tagValue = tag-&gt;value(&amp;state);
&gt; 
&gt; Better idiom for this is toWTFString.

toWTFString() doesn&apos;t help here.  We already know that the tag is a JSString above.  toWTFString() would do a lot of busy work before calling JSString::value() anyway.  If your proposal is to replace the toString() call above also, then that would not work because it does not handle exceptions generated by the toString().  Basically, toWTFString() has this issue in general.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1564327</commentid>
    <comment_count>8</comment_count>
      <attachid>376965</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2019-08-22 17:23:03 -0700</bug_when>
    <thetext>Comment on attachment 376965
Patch

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

&gt;&gt;&gt; Source/JavaScriptCore/runtime/IntlObject.cpp:552
&gt;&gt;&gt; +            auto tagValue = tag-&gt;value(&amp;state);
&gt;&gt; 
&gt;&gt; Better idiom for this is toWTFString.
&gt; 
&gt; toWTFString() doesn&apos;t help here.  We already know that the tag is a JSString above.  toWTFString() would do a lot of busy work before calling JSString::value() anyway.  If your proposal is to replace the toString() call above also, then that would not work because it does not handle exceptions generated by the toString().  Basically, toWTFString() has this issue in general.

Yes, I meant replace the toString above.

You’re saying that toWTFString doesn’t handle exceptions generated by toString correctly!? That must be fixed or we have to remove toWTFString!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>376965</attachid>
            <date>2019-08-21 19:14:16 -0700</date>
            <delta_ts>2019-08-22 11:18:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-201021-20190821191415.patch</filename>
            <type>text/plain</type>
            <size>3431</size>
            <attacher name="Justin Michaud">justin_michaud</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ4OTMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
MjE1NDI0NjJhOGZhYzAxZjBkNDEzNzM5M2I0ZTczYTViZDZlZWM2Li4yNmMyOGYwODM3Y2UwZGE5
YmQwODM2MjkxOGZlNTNlMTQzZjU0YjE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAxOS0wOC0yMSAgSnVzdGluIE1pY2hhdWQgIDxqdXN0aW5fbWljaGF1ZEBh
cHBsZS5jb20+CisKKyAgICAgICAgQWRkIG1pc3NpbmcgZXhjZXB0aW9uIGNoZWNrIGluIGNhbm9u
aWNhbGl6ZUxvY2FsZUxpc3QKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIwMTAyMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogcnVudGltZS9JbnRsT2JqZWN0LmNwcDoKKyAgICAgICAgKEpTQzo6Y2Fub25p
Y2FsaXplTG9jYWxlTGlzdCk6CisKIDIwMTktMDgtMjAgIE1hcmsgTGFtICA8bWFyay5sYW1AYXBw
bGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBzdXBlcmZsdW91cyBzaXplIGFyZ3VtZW50IHRvIGFs
bG9jYXRlQ2VsbCgpIGZvciBmaXhlZCBzaXplIG9iamVjdHMuCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9JbnRsT2JqZWN0LmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0ludGxPYmplY3QuY3BwCmluZGV4IDhjY2I3ZTBiOTZiYTBjYWU1ZTJiOWUw
ZmRkNDJiYTk3MDAwZDMyODUuLmJlNWFlYzA4NTIyNWFmOGNhYzRlMmUzNWI2NDM4NzdmYjE3MTg3
ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxPYmplY3Qu
Y3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0ludGxPYmplY3QuY3BwCkBA
IC01NDksOSArNTQ5LDEyIEBAIFZlY3RvcjxTdHJpbmc+IGNhbm9uaWNhbGl6ZUxvY2FsZUxpc3Qo
RXhlY1N0YXRlJiBzdGF0ZSwgSlNWYWx1ZSBsb2NhbGVzKQogICAgICAgICAgICAgSlNTdHJpbmcq
IHRhZyA9IGtWYWx1ZS50b1N0cmluZygmc3RhdGUpOwogICAgICAgICAgICAgUkVUVVJOX0lGX0VY
Q0VQVElPTihzY29wZSwgVmVjdG9yPFN0cmluZz4oKSk7CiAKLSAgICAgICAgICAgIFN0cmluZyBj
YW5vbmljYWxpemVkVGFnID0gY2Fub25pY2FsaXplTGFuZ3VhZ2VUYWcodGFnLT52YWx1ZSgmc3Rh
dGUpKTsKKyAgICAgICAgICAgIGF1dG8gdGFnVmFsdWUgPSB0YWctPnZhbHVlKCZzdGF0ZSk7Cisg
ICAgICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBWZWN0b3I8U3RyaW5nPigpKTsK
KworICAgICAgICAgICAgU3RyaW5nIGNhbm9uaWNhbGl6ZWRUYWcgPSBjYW5vbmljYWxpemVMYW5n
dWFnZVRhZyh0YWdWYWx1ZSk7CiAgICAgICAgICAgICBpZiAoY2Fub25pY2FsaXplZFRhZy5pc051
bGwoKSkgewotICAgICAgICAgICAgICAgIHRocm93RXhjZXB0aW9uKCZzdGF0ZSwgc2NvcGUsIGNy
ZWF0ZVJhbmdlRXJyb3IoJnN0YXRlLCAiaW52YWxpZCBsYW5ndWFnZSB0YWc6ICIgKyB0YWctPnZh
bHVlKCZzdGF0ZSkpKTsKKyAgICAgICAgICAgICAgICB0aHJvd0V4Y2VwdGlvbigmc3RhdGUsIHNj
b3BlLCBjcmVhdGVSYW5nZUVycm9yKCZzdGF0ZSwgImludmFsaWQgbGFuZ3VhZ2UgdGFnOiAiICsg
dGFnVmFsdWUpKTsKICAgICAgICAgICAgICAgICByZXR1cm4gVmVjdG9yPFN0cmluZz4oKTsKICAg
ICAgICAgICAgIH0KIApkaWZmIC0tZ2l0IGEvSlNUZXN0cy9DaGFuZ2VMb2cgYi9KU1Rlc3RzL0No
YW5nZUxvZwppbmRleCBiMzdiZDdlNzEzZDgyZGZlNDEyNmQzNzFiMDUxMWY4YjQzYWQ2ZDdkLi5i
ZWQ0MWQ2MDE0N2VkODVlMzEzMmRiNTliOWQ1MWQ1Y2U2MmNjM2RjIDEwMDY0NAotLS0gYS9KU1Rl
c3RzL0NoYW5nZUxvZworKysgYi9KU1Rlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisy
MDE5LTA4LTIxICBKdXN0aW4gTWljaGF1ZCAgPGp1c3Rpbl9taWNoYXVkQGFwcGxlLmNvbT4KKwor
ICAgICAgICBBZGQgbWlzc2luZyBleGNlcHRpb24gY2hlY2sgaW4gY2Fub25pY2FsaXplTG9jYWxl
TGlzdAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAx
MDIxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBz
dHJlc3MvbWlzc2luZy1leGNlcHRpb24tY2hlY2staW4tY2Fub25pY2FsaXplTG9jYWxlTGlzdC5q
czogQWRkZWQuCisgICAgICAgIChjYXRjaCk6CisKIDIwMTktMDgtMjAgIFl1c3VrZSBTdXp1a2kg
IDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlNDXSBBcnJheS5wcm90b3R5cGUudG9T
dHJpbmcgc2hvdWxkIG5vdCBnZXQgImpvaW4iIGZ1bmN0aW9uIGVhY2ggdGltZQpkaWZmIC0tZ2l0
IGEvSlNUZXN0cy9zdHJlc3MvbWlzc2luZy1leGNlcHRpb24tY2hlY2staW4tY2Fub25pY2FsaXpl
TG9jYWxlTGlzdC5qcyBiL0pTVGVzdHMvc3RyZXNzL21pc3NpbmctZXhjZXB0aW9uLWNoZWNrLWlu
LWNhbm9uaWNhbGl6ZUxvY2FsZUxpc3QuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmRjYzkyY2MyODBlNzg3Mzg3
ZjNkODM2ZTFhYWY1N2U3YTI1M2I2YQotLS0gL2Rldi9udWxsCisrKyBiL0pTVGVzdHMvc3RyZXNz
L21pc3NpbmctZXhjZXB0aW9uLWNoZWNrLWluLWNhbm9uaWNhbGl6ZUxvY2FsZUxpc3QuanMKQEAg
LTAsMCArMSwyMCBAQAordHJ5IHsKK2NvbnN0IHMxID0gKC0xKS50b0xvY2FsZVN0cmluZygpLnBh
ZEVuZCgyKiozMS0xLCAnYWEnKTsKKydhJy50b0xvY2FsZUxvd2VyQ2FzZShzMSk7Cit9IGNhdGNo
IChlKSB7IGV4Y2VwdGlvbiA9IGUgfQoraWYgKGV4Y2VwdGlvbiAhPSAiRXJyb3I6IE91dCBvZiBt
ZW1vcnkiKQorICAgIHRocm93ICJGQUlMRUQiOworCit0cnkgeworY29uc3QgczEgPSAoLTEpLnRv
TG9jYWxlU3RyaW5nKCkucGFkRW5kKDIqKjMxLTEsICdhYScpOworJ2EnLnRvTG9jYWxlVXBwZXJD
YXNlKHMxKTsKK30gY2F0Y2ggKGUpIHsgZXhjZXB0aW9uMiA9IGUgfQoraWYgKGV4Y2VwdGlvbjIg
IT0gIkVycm9yOiBPdXQgb2YgbWVtb3J5IikKKyAgICB0aHJvdyAiRkFJTEVEIjsKKwordHJ5IHsK
K2NvbnN0IHMxID0gKC0xKS50b0xvY2FsZVN0cmluZygpLnBhZEVuZCgyKiozMS0xLCAnYWEnKTsK
KydhJy5sb2NhbGVDb21wYXJlKCdiJywgczEpOworfSBjYXRjaCAoZSkgeyBleGNlcHRpb24zID0g
ZSB9CitpZiAoZXhjZXB0aW9uMyAhPSAiRXJyb3I6IE91dCBvZiBtZW1vcnkiKQorICAgIHRocm93
ICJGQUlMRUQiOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>