<?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>48946</bug_id>
          
          <creation_ts>2010-11-03 13:27:51 -0700</creation_ts>
          <short_desc>Crash under WebCore::platformDefaultLanguage() when using Arabic language</short_desc>
          <delta_ts>2010-11-08 20:41:10 -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>Mac</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>InRadar</keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mike Thole">mthole</reporter>
          <assigned_to name="Mike Thole">mthole</assigned_to>
          <cc>ap</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>304239</commentid>
    <comment_count>0</comment_count>
    <who name="Mike Thole">mthole</who>
    <bug_when>2010-11-03 13:27:51 -0700</bug_when>
    <thetext>After choosing the Arabic locale, launching Safari and navigating somewhere will cause a crash:


   1 libobjc.A.dylib                0x7fff82ae8318 objc_msgSend_vtable13 + 0x10
&gt;  2 com.apple.WebCore              0x101e0a5bd WebCore::platformDefaultLanguage() + 0x3d (Language.mm:100)
   3 com.apple.WebCore              0x101e09e38 WebCore::defaultLanguage() + 0x38 (Language.cpp:72)
   4 com.apple.WebKit               0x1012c9cc9 +[NSUserDefaults(WebNSUserDefaultsExtras) _webkit_preferredLanguageCode] + 0x19 (WebNSUserDefaultsExtras.mm:40)
   5 com.apple.WebKit               0x1012fb835 +[WebView(WebPrivate) _standardUserAgentWithApplicationName:] + 0x55 (WebView.mm:550)
   6 com.apple.Safari.framework     0x10020ae15 Safari::SWebView::defaultUserAgent() + 0x47 (SWebView.mac.mm:166)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>304250</commentid>
    <comment_count>1</comment_count>
      <attachid>72863</attachid>
    <who name="Mike Thole">mthole</who>
    <bug_when>2010-11-03 13:38:42 -0700</bug_when>
    <thetext>Created attachment 72863
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>304263</commentid>
    <comment_count>2</comment_count>
      <attachid>72863</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-11-03 13:49:43 -0700</bug_when>
    <thetext>Comment on attachment 72863
Proposed patch

Oops.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>304270</commentid>
    <comment_count>3</comment_count>
    <who name="Mike Thole">mthole</who>
    <bug_when>2010-11-03 13:55:28 -0700</bug_when>
    <thetext>Committed revision 71264.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>304284</commentid>
    <comment_count>4</comment_count>
      <attachid>72863</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-11-03 14:14:23 -0700</bug_when>
    <thetext>Comment on attachment 72863
Proposed patch

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

&gt; WebCore/platform/mac/Language.mm:62
&gt; +    NSString *httpStyleLanguageCode = nil;

It would be clearer to define this just before it’s initialized rather than putting the definition at the top of the function. If you did that it would be clear you need not set it to nil since it’s already initialized in all code paths.

&gt; WebCore/platform/mac/Language.mm:79
&gt; +    }
&gt; +    else

We put the } on the same line as the “else” in WebKit coding style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>304304</commentid>
    <comment_count>5</comment_count>
    <who name="Mike Thole">mthole</who>
    <bug_when>2010-11-03 14:46:21 -0700</bug_when>
    <thetext>Tweaked style per Darin&apos;s comments in r71271.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>306593</commentid>
    <comment_count>6</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-11-08 20:41:10 -0800</bug_when>
    <thetext>&lt;rdar://problem/8644034&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>72863</attachid>
            <date>2010-11-03 13:38:42 -0700</date>
            <delta_ts>2010-11-03 14:14:23 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>textmate stdin hvm2rq.txt</filename>
            <type>text/plain</type>
            <size>2441</size>
            <attacher name="Mike Thole">mthole</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MTI2MCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMTAtMTEtMDMgIE1pa2UgVGhvbGUgIDxtdGhvbGVAYXBwbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENyYXNo
IHVuZGVyIFdlYkNvcmU6OnBsYXRmb3JtRGVmYXVsdExhbmd1YWdlKCkgd2hlbiB1c2luZyBBcmFi
aWMgbGFuZ3VhZ2UKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTQ4OTQ2CisKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvTGFuZ3VhZ2UubW06CisgICAgICAg
IChXZWJDb3JlOjpjcmVhdGVIVFRQU3R5bGVMYW5ndWFnZUNvZGUpOgorICAgICAgICBSZXRhaW4g
dGhlIGxvd2VyY2FzZUxhbmd1YWdlQ29kZSBzdHJpbmcgYmVmb3JlIHJldHVybmluZyBpdC4gIFRo
aXMgd2FzIHRoZSBjb2RlIHBhdGggdGhhdAorICAgICAgICB3b3VsZCBsZWFkIHRvIGEgY3Jhc2gu
ICBBbHNvIHJlbW92ZWQgZWFybHkgcmV0dXJuIHRvIHByZXZlbnQgYSBsZWFrIG9mIHByZWZlcnJl
ZExhbmd1YWdlQ29kZS4KKwogMjAxMC0xMS0wMyAgTm8nYW0gUm9zZW50aGFsICA8bm9hbS5yb3Nl
bnRoYWxAbm9raWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgYnVpbGQgZml4IGZvciByNzEy
NTMKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vbWFjL0xhbmd1YWdlLm1tCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvcGxhdGZvcm0vbWFjL0xhbmd1YWdlLm1tCShyZXZpc2lvbiA3MTI0MykKKysrIFdl
YkNvcmUvcGxhdGZvcm0vbWFjL0xhbmd1YWdlLm1tCSh3b3JraW5nIGNvcHkpCkBAIC01OSw2ICs1
OSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHN0YXRpYyBOU1N0cmluZyAqY3JlYXRlSFRUUFN0
eWxlTGFuZ3VhZ2VDb2RlKE5TU3RyaW5nICpsYW5ndWFnZUNvZGUpCiB7CiAgICAgQVNTRVJUKGlz
TWFpblRocmVhZCgpKTsKKyAgICBOU1N0cmluZyAqaHR0cFN0eWxlTGFuZ3VhZ2VDb2RlID0gbmls
OwogCiAgICAgLy8gTG9vayB1cCB0aGUgbGFuZ3VhZ2UgY29kZSB1c2luZyBDRkJ1bmRsZS4KICAg
ICBDRlN0cmluZ1JlZiBwcmVmZXJyZWRMYW5ndWFnZUNvZGUgPSB3a0NvcHlDRkxvY2FsaXphdGlv
blByZWZlcnJlZE5hbWUoKENGU3RyaW5nUmVmKWxhbmd1YWdlQ29kZSk7CkBAIC03MCwxNiArNzEs
MTggQEAgc3RhdGljIE5TU3RyaW5nICpjcmVhdGVIVFRQU3R5bGVMYW5ndWFnZQogICAgIE5TU3Ry
aW5nICpsb3dlcmNhc2VMYW5ndWFnZUNvZGUgPSBbbGFuZ3VhZ2VDb2RlIGxvd2VyY2FzZVN0cmlu
Z107CiAgICAgCiAgICAgLy8gVHVybiBhICdfJyBpbnRvIGEgJy0nIGlmIGl0IGFwcGVhcnMgYWZ0
ZXIgYSAyLWxldHRlciBsYW5ndWFnZSBjb2RlLgotICAgIGlmIChbbG93ZXJjYXNlTGFuZ3VhZ2VD
b2RlIGxlbmd0aF0gPCAzIHx8IFtsb3dlcmNhc2VMYW5ndWFnZUNvZGUgY2hhcmFjdGVyQXRJbmRl
eDoyXSAhPSAnXycpCi0gICAgICAgIHJldHVybiBsb3dlcmNhc2VMYW5ndWFnZUNvZGU7Ci0KLSAg
ICBOU011dGFibGVTdHJpbmcgKnJlc3VsdCA9IFtsb3dlcmNhc2VMYW5ndWFnZUNvZGUgbXV0YWJs
ZUNvcHldOwotICAgIFtyZXN1bHQgcmVwbGFjZUNoYXJhY3RlcnNJblJhbmdlOk5TTWFrZVJhbmdl
KDIsIDEpIHdpdGhTdHJpbmc6QCItIl07Ci0KKyAgICBpZiAoW2xvd2VyY2FzZUxhbmd1YWdlQ29k
ZSBsZW5ndGhdID49IDMgJiYgW2xvd2VyY2FzZUxhbmd1YWdlQ29kZSBjaGFyYWN0ZXJBdEluZGV4
OjJdID09ICdfJykgeworICAgICAgICBOU011dGFibGVTdHJpbmcgKm11dGFibGVMYW5ndWFnZUNv
ZGUgPSBbbG93ZXJjYXNlTGFuZ3VhZ2VDb2RlIG11dGFibGVDb3B5XTsKKyAgICAgICAgW211dGFi
bGVMYW5ndWFnZUNvZGUgcmVwbGFjZUNoYXJhY3RlcnNJblJhbmdlOk5TTWFrZVJhbmdlKDIsIDEp
IHdpdGhTdHJpbmc6QCItIl07CisgICAgICAgIGh0dHBTdHlsZUxhbmd1YWdlQ29kZSA9IG11dGFi
bGVMYW5ndWFnZUNvZGU7CisgICAgfQorICAgIGVsc2UKKyAgICAgICAgaHR0cFN0eWxlTGFuZ3Vh
Z2VDb2RlID0gW2xvd2VyY2FzZUxhbmd1YWdlQ29kZSByZXRhaW5dOworICAgIAogICAgIGlmIChw
cmVmZXJyZWRMYW5ndWFnZUNvZGUpCiAgICAgICAgIENGUmVsZWFzZShwcmVmZXJyZWRMYW5ndWFn
ZUNvZGUpOwogCi0gICAgcmV0dXJuIHJlc3VsdDsKKyAgICByZXR1cm4gaHR0cFN0eWxlTGFuZ3Vh
Z2VDb2RlOwogfQogCiBTdHJpbmcgcGxhdGZvcm1EZWZhdWx0TGFuZ3VhZ2UoKQo=
</data>
<flag name="review"
          id="63195"
          type_id="1"
          status="+"
          setter="ap"
    />
          </attachment>
      

    </bug>

</bugzilla>