<?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>34611</bug_id>
          
          <creation_ts>2010-02-04 13:13:19 -0800</creation_ts>
          <short_desc>WebLocalizedString() could use an assertion that it is being called on the main thread</short_desc>
          <delta_ts>2010-02-04 13:46:13 -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>WebKit 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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="John Sullivan">sullivan</reporter>
          <assigned_to name="John Sullivan">sullivan</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>187907</commentid>
    <comment_count>0</comment_count>
    <who name="John Sullivan">sullivan</who>
    <bug_when>2010-02-04 13:13:19 -0800</bug_when>
    <thetext>WebLocalizedString() in WebLocalizableStrings.m is not thread-safe because it performs no internal locking when setting or using the value of a static variable. Also, it calls -[NSBundle localizedStringForKey:], which is not guaranteed to be thread-safe.

To catch thread-safety issues, it would be useful to assert that this function is being called on the main thread.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>187921</commentid>
    <comment_count>1</comment_count>
      <attachid>48166</attachid>
    <who name="John Sullivan">sullivan</who>
    <bug_when>2010-02-04 13:41:09 -0800</bug_when>
    <thetext>Created attachment 48166
Patch to add an assertion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>187926</commentid>
    <comment_count>2</comment_count>
    <who name="John Sullivan">sullivan</who>
    <bug_when>2010-02-04 13:46:13 -0800</bug_when>
    <thetext>Fixed in &lt;http://trac.webkit.org/changeset/54367&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>48166</attachid>
            <date>2010-02-04 13:41:09 -0800</date>
            <delta_ts>2010-02-04 13:43:30 -0800</delta_ts>
            <desc>Patch to add an assertion.</desc>
            <filename>34611_patch.txt</filename>
            <type>text/plain</type>
            <size>12800</size>
            <attacher name="John Sullivan">sullivan</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDU0
MzQzKQorKysgV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5n
IGNvcHkpCkBAIC0yOTUsNyArMjk1LDYgQEAKIAkJOTM5ODExMDcwODI0QkYwMTAwOERGMDM4IC8q
IFdlYlZpZXcubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1MUE4QjU3QTA0MjgzNEY3MDBDQTJEM0EgLyogV2ViVmlldy5tbSAqLzsgfTsKIAkJOTM5ODEx
MDgwODI0QkYwMTAwOERGMDM4IC8qIFdlYlBvbGljeURlbGVnYXRlLm1tIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTE0NDNGOUIwNDI5MzkyQjAwQ0EyRDNB
IC8qIFdlYlBvbGljeURlbGVnYXRlLm1tICovOyB9OwogCQk5Mzk4MTEwQTA4MjRCRjAxMDA4REYw
MzggLyogV2ViRGVmYXVsdFVJRGVsZWdhdGUubSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDUxNUUyN0QwMDQ1OENBNEIwMENBMkQzQSAvKiBXZWJEZWZhdWx0
VUlEZWxlZ2F0ZS5tICovOyB9OwotCQk5Mzk4MTEwRDA4MjRCRjAxMDA4REYwMzggLyogV2ViTG9j
YWxpemFibGVTdHJpbmdzLm0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBCRUUxOEY5QTA0NzJCNzMyMDBDQTI4OUMgLyogV2ViTG9jYWxpemFibGVTdHJpbmdz
Lm0gKi87IH07CiAJCTkzOTgxMTBFMDgyNEJGMDEwMDhERjAzOCAvKiBXZWJLaXRTeXN0ZW1CaXRz
Lm0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCRUU1MkQ0
QjA0NzMwMzI1MDBDQTI4OUMgLyogV2ViS2l0U3lzdGVtQml0cy5tICovOyB9OwogCQk5Mzk4MTEx
MjA4MjRCRjAxMDA4REYwMzggLyogV2ViTlNVUkxFeHRyYXMubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCRTZEQzM5QTA0QzYyQzRFMDA0RDBFRjYgLyog
V2ViTlNVUkxFeHRyYXMubW0gKi87IH07CiAJCTkzOTgxMTEzMDgyNEJGMDEwMDhERjAzOCAvKiBX
ZWJIaXN0b3J5Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNjVEQTI2MDgwNTJDQzE4NzAwQTk3QjMxIC8qIFdlYkhpc3RvcnkubW0gKi87IH07CkBAIC0z
NDksNiArMzQ4LDcgQEAKIAkJREQ4OTY4MjAwOUFBODcyNDAwOTdFN0YwIC8qIFdlYkVsZW1lbnRE
aWN0aW9uYXJ5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBERDg5NjgxRTA5QUE4NzI0MDA5N0U3RjAgLyogV2ViRWxlbWVudERpY3Rpb25hcnkuaCAqLzsg
fTsKIAkJREQ4OTY4MjEwOUFBODcyNDAwOTdFN0YwIC8qIFdlYkVsZW1lbnREaWN0aW9uYXJ5Lm1t
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gREQ4OTY4MUYw
OUFBODcyNDAwOTdFN0YwIC8qIFdlYkVsZW1lbnREaWN0aW9uYXJ5Lm1tICovOyB9OwogCQlFMTU2
NjMxOTBGQjYxQzFGMDBDMTk5Q0EgLyogV2ViRG93bmxvYWQubW0gaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMTU2NjMxODBGQjYxQzFGMDBDMTk5Q0EgLyog
V2ViRG93bmxvYWQubW0gKi87IH07CisJCUVENUI5NTI0MTExQjcyNUEwMDQ3MjI5OCAvKiBXZWJM
b2NhbGl6YWJsZVN0cmluZ3MubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBFRDVCOTUyMzExMUI3MjVBMDA0NzIyOTggLyogV2ViTG9jYWxpemFibGVTdHJp
bmdzLm1tICovOyB9OwogCQlFRDZCRTJFNzA4OEMzMkI1MDA0NERFREMgLyogV2ViTlNBdHRyaWJ1
dGVkU3RyaW5nRXh0cmFzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBFRDZCRTJFNTA4OEMzMkI1MDA0NERFREMgLyogV2ViTlNBdHRyaWJ1dGVkU3RyaW5n
RXh0cmFzLmggKi87IH07CiAJCUVENkJFMkU4MDg4QzMyQjUwMDQ0REVEQyAvKiBXZWJOU0F0dHJp
YnV0ZWRTdHJpbmdFeHRyYXMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBFRDZCRTJFNjA4OEMzMkI1MDA0NERFREMgLyogV2ViTlNBdHRyaWJ1dGVkU3Ry
aW5nRXh0cmFzLm1tICovOyB9OwogCQlFRDdGNkQ4QjA5ODA2ODM1MDBDMjM1RUQgLyogV2ViTlNE
YXRhRXh0cmFzUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRUQ3RjZEOEEwOTgwNjgzNTAwQzIzNUVEIC8qIFdlYk5TRGF0YUV4dHJhc1ByaXZh
dGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAt
NjMzLDcgKzYzMyw2IEBACiAJCUJFQ0QxNDI5MDU2NTgzMEEwMDVCQjA5QyAvKiBXZWJOU0RhdGFF
eHRyYXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBp
bmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBXZWJOU0RhdGFFeHRyYXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4
OyB1c2VzVGFicyA9IDA7IH07CiAJCUJFQ0QxNDJBMDU2NTgzMEEwMDVCQjA5QyAvKiBXZWJOU0Rh
dGFFeHRyYXMubSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLm9iamM7
IHBhdGggPSBXZWJOU0RhdGFFeHRyYXMubTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lk
dGggPSA4OyB1c2VzVGFicyA9IDA7IH07CiAJCUJFRTE4Rjk5MDQ3MkI3MzIwMENBMjg5QyAvKiBX
ZWJMb2NhbGl6YWJsZVN0cmluZ3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gV2ViTG9jYWxpemFibGVTdHJpbmdzLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IHRhYldpZHRoID0gODsgdXNlc1RhYnMgPSAwOyB9OwotCQlCRUUxOEY5QTA0NzJC
NzMyMDBDQTI4OUMgLyogV2ViTG9jYWxpemFibGVTdHJpbmdzLm0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMub2JqYzsgcGF0aCA9IFdlYkxvY2FsaXphYmxlU3RyaW5n
cy5tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsg
fTsKIAkJQkVFNTJENEEwNDczMDMyNTAwQ0EyODlDIC8qIFdlYktpdFN5c3RlbUJpdHMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBpbmRlbnRXaWR0aCA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJLaXRTeXN0
ZW1CaXRzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgdXNlc1RhYnMg
PSAwOyB9OwogCQlCRUU1MkQ0QjA0NzMwMzI1MDBDQTI4OUMgLyogV2ViS2l0U3lzdGVtQml0cy5t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGluZGVudFdp
ZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMub2JqYzsgcGF0aCA9IFdl
YktpdFN5c3RlbUJpdHMubTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1
c2VzVGFicyA9IDA7IH07CiAJCUMwMTY3QkY2MEQ3RjVERDAwMDI4Njk2RSAvKiBXZWJTY3JpcHRE
ZWJ1Z2dlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJTY3JpcHREZWJ1
Z2dlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNjUwLDYgKzY0OSw3IEBACiAJ
CUVEMkIyNDc0MDMzQTJEQTgwMEMxQTUyNiAvKiBXZWJOU1Bhc3RlYm9hcmRFeHRyYXMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBpbmRlbnRXaWR0aCA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJOU1Bhc3Rl
Ym9hcmRFeHRyYXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1c2Vz
VGFicyA9IDA7IH07CiAJCUVEMkIyNDc1MDMzQTJEQTgwMEMxQTUyNiAvKiBXZWJOU1Bhc3RlYm9h
cmRFeHRyYXMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9i
amNwcDsgcGF0aCA9IFdlYk5TUGFzdGVib2FyZEV4dHJhcy5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgdGFiV2lkdGggPSA4OyB1c2VzVGFicyA9IDA7IH07CiAJCUVEM0I0OERFMENDNTFGN0Uw
MERGRjFFQiAvKiBTdHJpbmdzTm90VG9CZUxvY2FsaXplZC50eHQgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsg
cGF0aCA9IFN0cmluZ3NOb3RUb0JlTG9jYWxpemVkLnR4dDsgc291cmNlVHJlZSA9IFNPVVJDRV9S
T09UOyB9OworCQlFRDVCOTUyMzExMUI3MjVBMDA0NzIyOTggLyogV2ViTG9jYWxpemFibGVTdHJp
bmdzLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViTG9jYWxp
emFibGVTdHJpbmdzLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFRDZCRTJFNTA4
OEMzMkI1MDA0NERFREMgLyogV2ViTlNBdHRyaWJ1dGVkU3RyaW5nRXh0cmFzLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYk5TQXR0cmlidXRl
ZFN0cmluZ0V4dHJhcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IHVz
ZXNUYWJzID0gMDsgfTsKIAkJRUQ2QkUyRTYwODhDMzJCNTAwNDRERURDIC8qIFdlYk5TQXR0cmli
dXRlZFN0cmluZ0V4dHJhcy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSAzMDsgaW5kZW50V2lkdGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYk5TQXR0cmlidXRlZFN0cmluZ0V4dHJhcy5tbTsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1c2VzVGFicyA9IDA7IH07CiAJCUVE
N0Y2RDhBMDk4MDY4MzUwMEMyMzVFRCAvKiBXZWJOU0RhdGFFeHRyYXNQcml2YXRlLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYk5TRGF0YUV4dHJhc1ByaXZhdGUuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTkxNyw3ICs5MTcsNyBAQAogCQkJCTFDMEQ0MDg1
MEFDMUM4RjQwMDA5QzExMyAvKiBXZWJLaXRWZXJzaW9uQ2hlY2tzLmggKi8sCiAJCQkJMUMwRDQw
ODYwQUMxQzhGNDAwMDlDMTEzIC8qIFdlYktpdFZlcnNpb25DaGVja3MubSAqLywKIAkJCQlCRUUx
OEY5OTA0NzJCNzMyMDBDQTI4OUMgLyogV2ViTG9jYWxpemFibGVTdHJpbmdzLmggKi8sCi0JCQkJ
QkVFMThGOUEwNDcyQjczMjAwQ0EyODlDIC8qIFdlYkxvY2FsaXphYmxlU3RyaW5ncy5tICovLAor
CQkJCUVENUI5NTIzMTExQjcyNUEwMDQ3MjI5OCAvKiBXZWJMb2NhbGl6YWJsZVN0cmluZ3MubW0g
Ki8sCiAJCQkJRURFOTgzN0UwQkNERjVGRTAwRkRBRTI4IC8qIFdlYk5TQXJyYXlFeHRyYXMuaCAq
LywKIAkJCQlFREU5ODM3RjBCQ0RGNUZFMDBGREFFMjggLyogV2ViTlNBcnJheUV4dHJhcy5tICov
LAogCQkJCUVENkJFMkU1MDg4QzMyQjUwMDQ0REVEQyAvKiBXZWJOU0F0dHJpYnV0ZWRTdHJpbmdF
eHRyYXMuaCAqLywKQEAgLTE4MjQsNyArMTgyNCw2IEBACiAJCQkJOTM5ODEwQzUwODI0QkYwMTAw
OERGMDM4IC8qIFdlYktpdFN0YXRpc3RpY3MubSBpbiBTb3VyY2VzICovLAogCQkJCTkzOTgxMTBF
MDgyNEJGMDEwMDhERjAzOCAvKiBXZWJLaXRTeXN0ZW1CaXRzLm0gaW4gU291cmNlcyAqLywKIAkJ
CQkxQzBENDA4ODBBQzFDOEY0MDAwOUMxMTMgLyogV2ViS2l0VmVyc2lvbkNoZWNrcy5tIGluIFNv
dXJjZXMgKi8sCi0JCQkJOTM5ODExMEQwODI0QkYwMTAwOERGMDM4IC8qIFdlYkxvY2FsaXphYmxl
U3RyaW5ncy5tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTE4NUY2MjgxMDcxMkI5NzAwN0FBMzkzIC8q
IFdlYk5hdmlnYXRpb25EYXRhLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMEFCNzUyMzgwRkEyRTRE
QjAwRDdDQkIxIC8qIFdlYk5ldHNjYXBlQ29udGFpbmVyQ2hlY2tDb250ZXh0SW5mby5tbSBpbiBT
b3VyY2VzICovLAogCQkJCTBBRUJGRjY0MEY5RkE4QkUwMDBENDg2QiAvKiBXZWJOZXRzY2FwZUNv
bnRhaW5lckNoZWNrUHJpdmF0ZS5tbSBpbiBTb3VyY2VzICovLApAQCAtMTg4OSw2ICsxODg4LDcg
QEAKIAkJCQk5Mzk4MTBFODA4MjRCRjAxMDA4REYwMzggLyogV2ViVmlld0ZhY3RvcnkubW0gaW4g
U291cmNlcyAqLywKIAkJCQkwRkQzQjBGOTEwNzZDM0Y3MDAwMzlCOTYgLyogV2ViV2luZG93QW5p
bWF0aW9uLm0gaW4gU291cmNlcyAqLywKIAkJCQk0MUY0NDg1MDEwMzM4RThDMDAzMEU1NUUgLyog
V2ViV29ya2Vyc1ByaXZhdGUubW0gaW4gU291cmNlcyAqLywKKwkJCQlFRDVCOTUyNDExMUI3MjVB
MDA0NzIyOTggLyogV2ViTG9jYWxpemFibGVTdHJpbmdzLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkp
OwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkluZGV4
OiBXZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9DaGFuZ2VMb2cJKHJldmlz
aW9uIDU0MzY2KQorKysgV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDEzIEBACisyMDEwLTAyLTA0ICBKb2huIFN1bGxpdmFuICA8c3VsbGl2YW5AYXBwbGUuY29tPgor
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNDYxMQor
ICAgICAgICBXZWJMb2NhbGl6ZWRTdHJpbmcoKSBjb3VsZCB1c2UgYW4gYXNzZXJ0aW9uIHRoYXQg
aXQgaXMgYmVpbmcgY2FsbGVkIG9uIHRoZSBtYWluIHRocmVhZAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2o6CisgICAgICAgIFVwZGF0ZWQgZm9yIHJlbmFtZWQgZmlsZSAoV2ViTG9jYWxpemFi
bGVTdHJpbmdzLm0gLT4gV2ViTG9jYWxpemFibGVTdHJpbmdzLm1tKQorCiAyMDEwLTAxLTI5ICBN
YXJrIFJvd2UgIDxtcm93ZUBhcHBsZS5jb20+CiAKICAgICAgICAgU29ydCBYY29kZSBwcm9qZWN0
cy4KSW5kZXg6IFdlYktpdC9tYWMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9tYWMv
Q2hhbmdlTG9nCShyZXZpc2lvbiA1NDM2NikKKysrIFdlYktpdC9tYWMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTAtMDItMDQgIEpvaG4gU3VsbGl2YW4gIDxz
dWxsaXZhbkBhcHBsZS5jb20+CisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTM0NjExCisgICAgICAgIFdlYkxvY2FsaXplZFN0cmluZygpIGNvdWxkIHVz
ZSBhbiBhc3NlcnRpb24gdGhhdCBpdCBpcyBiZWluZyBjYWxsZWQgb24gdGhlIG1haW4gdGhyZWFk
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBNaXNj
L1dlYkxvY2FsaXphYmxlU3RyaW5ncy5tOiBSZW1vdmVkLgorICAgICAgICAqIE1pc2MvV2ViTG9j
YWxpemFibGVTdHJpbmdzLm1tOiBDb3BpZWQgZnJvbSBtYWMvTWlzYy9XZWJMb2NhbGl6YWJsZVN0
cmluZ3MubS4KKyAgICAgICAgUmVuYW1lZCB0byB1c2UgLm1tIGV4dGVuc2lvbiBzbyBpdCBjYW4g
aW5jbHVkZSBhIEMrKyBoZWFkZXIuCisgICAgICAgIChXZWJMb2NhbGl6ZWRTdHJpbmcpOgorICAg
ICAgICBBZGRlZCBhbiBhc3NlcnRpb24gdGhhdCB0aGlzIGlzIGJlaW5nIGNhbGxlZCBvbiB0aGUg
bWFpbiB0aHJlYWQuCisKIDIwMTAtMDItMDQgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNv
bT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCkluZGV4OiBXZWJLaXQvbWFj
L01pc2MvV2ViTG9jYWxpemFibGVTdHJpbmdzLm0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L21hYy9N
aXNjL1dlYkxvY2FsaXphYmxlU3RyaW5ncy5tCShyZXZpc2lvbiA1NDM0MykKKysrIFdlYktpdC9t
YWMvTWlzYy9XZWJMb2NhbGl6YWJsZVN0cmluZ3MubQkod29ya2luZyBjb3B5KQpAQCAtMSw2MCAr
MCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA1IEFwcGxlIENvbXB1dGVyLCBJbmMuICBB
bGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBh
cmUgbWV0OgotICoKLSAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4gCi0gKiAyLiAgUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4gCi0gKiAzLiAgTmVpdGhlciB0
aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBv
ZgotICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQKLSAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uIAotICoKLSAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5Z
Ci0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVECi0gKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCi0gKiBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZCi0gKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUwotICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOwotICogTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5ECi0gKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
Ci0gKiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgotICovCi0KLSNpbXBvcnQgPFdlYktpdC9XZWJMb2NhbGl6YWJsZVN0cmlu
Z3MuaD4KLQotI2ltcG9ydCA8d3RmL0Fzc2VydGlvbnMuaD4KLQotV2ViTG9jYWxpemFibGVTdHJp
bmdzQnVuZGxlIFdlYktpdExvY2FsaXphYmxlU3RyaW5nc0J1bmRsZSA9IHsgImNvbS5hcHBsZS5X
ZWJLaXQiLCAwIH07Ci0KLU5TU3RyaW5nICpXZWJMb2NhbGl6ZWRTdHJpbmcoV2ViTG9jYWxpemFi
bGVTdHJpbmdzQnVuZGxlICpzdHJpbmdzQnVuZGxlLCBjb25zdCBjaGFyICprZXkpCi17Ci0gICAg
TlNCdW5kbGUgKmJ1bmRsZTsKLSAgICBpZiAoc3RyaW5nc0J1bmRsZSA9PSBOVUxMKSB7Ci0gICAg
ICAgIHN0YXRpYyBOU0J1bmRsZSAqbWFpbkJ1bmRsZTsKLSAgICAgICAgaWYgKG1haW5CdW5kbGUg
PT0gbmlsKSB7Ci0gICAgICAgICAgICBtYWluQnVuZGxlID0gW05TQnVuZGxlIG1haW5CdW5kbGVd
OwotICAgICAgICAgICAgQVNTRVJUKG1haW5CdW5kbGUpOwotICAgICAgICAgICAgQ0ZSZXRhaW4o
bWFpbkJ1bmRsZSk7Ci0gICAgICAgIH0KLSAgICAgICAgYnVuZGxlID0gbWFpbkJ1bmRsZTsKLSAg
ICB9IGVsc2UgewotICAgICAgICBidW5kbGUgPSBzdHJpbmdzQnVuZGxlLT5idW5kbGU7Ci0gICAg
ICAgIGlmIChidW5kbGUgPT0gbmlsKSB7Ci0gICAgICAgICAgICBidW5kbGUgPSBbTlNCdW5kbGUg
YnVuZGxlV2l0aElkZW50aWZpZXI6W05TU3RyaW5nIHN0cmluZ1dpdGhVVEY4U3RyaW5nOnN0cmlu
Z3NCdW5kbGUtPmlkZW50aWZpZXJdXTsKLSAgICAgICAgICAgIEFTU0VSVChidW5kbGUpOwotICAg
ICAgICAgICAgc3RyaW5nc0J1bmRsZS0+YnVuZGxlID0gYnVuZGxlOwotICAgICAgICB9Ci0gICAg
fQotICAgIE5TU3RyaW5nICpub3RGb3VuZCA9IEAibG9jYWxpemVkIHN0cmluZyBub3QgZm91bmQi
OwotICAgIENGU3RyaW5nUmVmIGtleVN0cmluZyA9IENGU3RyaW5nQ3JlYXRlV2l0aENTdHJpbmdO
b0NvcHkoTlVMTCwga2V5LCBrQ0ZTdHJpbmdFbmNvZGluZ1VURjgsIGtDRkFsbG9jYXRvck51bGwp
OwotICAgIE5TU3RyaW5nICpyZXN1bHQgPSBbYnVuZGxlIGxvY2FsaXplZFN0cmluZ0ZvcktleToo
TlNTdHJpbmcgKilrZXlTdHJpbmcgdmFsdWU6bm90Rm91bmQgdGFibGU6bmlsXTsKLSAgICBDRlJl
bGVhc2Uoa2V5U3RyaW5nKTsKLSAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKHJlc3VsdCAhPSBub3RG
b3VuZCwgImNvdWxkIG5vdCBmaW5kIGxvY2FsaXphYmxlIHN0cmluZyAlcyBpbiBidW5kbGUiLCBr
ZXkpOwotICAgIHJldHVybiByZXN1bHQ7Ci19CkluZGV4OiBXZWJLaXQvbWFjL01pc2MvV2ViTG9j
YWxpemFibGVTdHJpbmdzLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9tYWMvTWlzYy9XZWJMb2Nh
bGl6YWJsZVN0cmluZ3MubW0JKHJldmlzaW9uIDU0MzQzKQorKysgV2ViS2l0L21hYy9NaXNjL1dl
YkxvY2FsaXphYmxlU3RyaW5ncy5tbQkod29ya2luZyBjb3B5KQpAQCAtMjksMTEgKzI5LDE4IEBA
CiAjaW1wb3J0IDxXZWJLaXQvV2ViTG9jYWxpemFibGVTdHJpbmdzLmg+CiAKICNpbXBvcnQgPHd0
Zi9Bc3NlcnRpb25zLmg+CisjaW1wb3J0IDx3dGYvVGhyZWFkaW5nLmg+CiAKIFdlYkxvY2FsaXph
YmxlU3RyaW5nc0J1bmRsZSBXZWJLaXRMb2NhbGl6YWJsZVN0cmluZ3NCdW5kbGUgPSB7ICJjb20u
YXBwbGUuV2ViS2l0IiwgMCB9OwogCiBOU1N0cmluZyAqV2ViTG9jYWxpemVkU3RyaW5nKFdlYkxv
Y2FsaXphYmxlU3RyaW5nc0J1bmRsZSAqc3RyaW5nc0J1bmRsZSwgY29uc3QgY2hhciAqa2V5KQog
eworICAgIC8vIFRoaXMgZnVuY3Rpb24gaXMgbm90IHRocmVhZC1zYWZlIGR1ZSBhdCBsZWFzdCB0
byBpdHMgdW5ndWFyZGVkIHVzZSBvZiB0aGUgbWFpbkJ1bmRsZSBzdGF0aWMgdmFyaWFibGUKKyAg
ICAvLyBhbmQgaXRzIHVzZSBvZiBbTlNCdW5kbGUgbG9jYWxpemVkU3RyaW5nRm9yS2V5Ojo6XSwg
d2hpY2ggaXMgbm90IGd1YXJhbnRlZWQgdG8gYmUgdGhyZWFkLXNhZmUuIElmCisgICAgLy8gd2Ug
ZGVjaWRlIHdlIG5lZWQgdG8gdXNlIHRoaXMgb24gYmFja2dyb3VuZCB0aHJlYWRzLCB3ZSdsbCBu
ZWVkIHRvIGFkZCBsb2NraW5nIGhlcmUgYW5kIG1ha2Ugc3VyZQorICAgIC8vIGl0IGRvZXNuJ3Qg
YWZmZWN0IHBlcmZvcm1hbmNlLgorICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CisKICAgICBO
U0J1bmRsZSAqYnVuZGxlOwogICAgIGlmIChzdHJpbmdzQnVuZGxlID09IE5VTEwpIHsKICAgICAg
ICAgc3RhdGljIE5TQnVuZGxlICptYWluQnVuZGxlOwo=
</data>
<flag name="review"
          id="30804"
          type_id="1"
          status="+"
          setter="timothy"
    />
          </attachment>
      

    </bug>

</bugzilla>