<?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>15982</bug_id>
          
          <creation_ts>2007-11-14 00:22:26 -0800</creation_ts>
          <short_desc>Improve JSString UTF-8 decoding</short_desc>
          <delta_ts>2007-11-14 22:00: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>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</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="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>61189</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2007-11-14 00:22:26 -0800</bug_when>
    <thetext>From bug 15953 comment 5.

We don&apos;t want lenient decoding in JSStringCreateWithUTF8CString(), and we want it to return 0 on error.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>61190</commentid>
    <comment_count>1</comment_count>
      <attachid>17263</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2007-11-14 00:29:24 -0800</bug_when>
    <thetext>Created attachment 17263
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>61201</commentid>
    <comment_count>2</comment_count>
      <attachid>17263</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2007-11-14 07:42:36 -0800</bug_when>
    <thetext>Comment on attachment 17263
proposed patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>61264</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2007-11-14 22:00:10 -0800</bug_when>
    <thetext>Committed revision 27810.
</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>17263</attachid>
            <date>2007-11-14 00:29:24 -0800</date>
            <delta_ts>2007-11-14 07:42:36 -0800</delta_ts>
            <desc>proposed patch</desc>
            <filename>15982r1_patch.txt</filename>
            <type>text/plain</type>
            <size>12971</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI3Nzg1KQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMzEgQEAKKzIwMDctMTEtMTQgIEFsZXhleSBQ
cm9za3VyeWFrb3YgIDxhcEB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE1OTgyCisgICAgICAgIEltcHJvdmUgSlNTdHJpbmcgVVRGLTggZGVjb2RpbmcKKworICAg
ICAgICAqIEFQSS9KU1N0cmluZ1JlZi5jcHA6CisgICAgICAgIChKU1N0cmluZ0NyZWF0ZVdpdGhV
VEY4Q1N0cmluZyk6IFVzZSBzdHJpY3QgZGVjb2RpbmcsIHJldHVybiAwIG9uIGVycm9yLgorCisg
ICAgICAgICogSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajogUmUtYWRk
ZWQgd3RmL3VuaWNvZGUgaGVhZGVyIGZpbGVzIHRoYXQgd2VyZQorICAgICAgICByZWNlbnRseSBy
ZW1vdmVkLCBwcmVzdW1hYmx5IGFjY2lkZW50YWxseS4KKworICAgICAgICAqIHd0Zi91bmljb2Rl
L1VURjguY3BwOgorICAgICAgICAoV1RGOjpVbmljb2RlOjpjb252ZXJ0VVRGMTZUb1VURjgpOgor
ICAgICAgICAoV1RGOjpVbmljb2RlOjpjb252ZXJ0VVRGOFRvVVRGMTYpOgorICAgICAgICAqIHd0
Zi91bmljb2RlL1VURjguaDoKKyAgICAgICAgTWFkZSB0aGVzZSBmdW5jdGlvbiBuYW1lcyBzdGFy
dCB3aXRoIGEgbG93ZXIgY2FzZSBsZXR0ZXIuCisKKyAgICAgICAgKiBranMvdXN0cmluZy5jcHA6
IChLSlM6OlVTdHJpbmc6OlVURjhTdHJpbmcpOiBVcGRhdGVkIGZvciB0aGUgYWJvdmUgcmVuYW1p
bmcuCisKKyAgICAgICAgKiBiaW5kaW5ncy9jL2NfdXRpbGl0eS5jcHA6CisgICAgICAgIChLSlM6
OkJpbmRpbmdzOjpjb252ZXJ0VVRGOFRvVVRGMTZXaXRoTGF0aW4xRmFsbGJhY2spOiBSZW5hbWVk
IHRvIGhpZ2hsaWdodCB0aGUgZGlmZmVyZW5jZQorICAgICAgICBmcm9tIGNvbnZlcnRVVEY4VG9V
VEYxNiBpbiB3dGYvdW5pY29kZS4KKyAgICAgICAgKEtKUzo6QmluZGluZ3M6OmNvbnZlcnROUFN0
cmluZ1RvVVRGMTYpOiBVcGRhdGVkIGZvciB0aGUgYWJvdmUgcmVuYW1pbmcuCisgICAgICAgIChL
SlM6OkJpbmRpbmdzOjppZGVudGlmaWVyRnJvbU5QSWRlbnRpZmllcik6IERpdHRvLgorICAgICAg
ICAqIGJpbmRpbmdzL2MvY191dGlsaXR5Lmg6IE1hZGUgY29udmVydFVURjhUb1VURjE2V2l0aExh
dGluMUZhbGxiYWNrKCkgYSBmaWxlIHN0YXRpYy4KKwogMjAwNy0xMS0xMyAgQW5kZXJzIENhcmxz
c29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBSZWZDb3VudGVkLmggKEFu
ZCByZW1vdmUgU2hhcmVkLmgpCkluZGV4OiBKYXZhU2NyaXB0Q29yZS9BUEkvSlNTdHJpbmdSZWYu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL0FQSS9KU1N0cmluZ1JlZi5jcHAJKHJl
dmlzaW9uIDI3Nzg1KQorKysgSmF2YVNjcmlwdENvcmUvQVBJL0pTU3RyaW5nUmVmLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNTQsNyArNTQsOCBAQCBKU1N0cmluZ1JlZiBKU1N0cmluZ0NyZWF0ZVdp
dGhVVEY4Q1N0cmluCiAgICAgc2l6ZV90IGxlbmd0aCA9IHN0cmxlbihzdHJpbmcpOwogICAgIFZl
Y3RvcjwgOjpVQ2hhciwgMTAyND4gYnVmZmVyKGxlbmd0aCk7CiAgICAgOjpVQ2hhciogcCA9IGJ1
ZmZlci5kYXRhKCk7Ci0gICAgQ29udmVydFVURjhUb1VURjE2KCZzdHJpbmcsIHN0cmluZyArIGxl
bmd0aCwgJnAsIHAgKyBsZW5ndGgsIGZhbHNlKTsKKyAgICBpZiAoY29udmVyc2lvbk9LICE9IGNv
bnZlcnRVVEY4VG9VVEYxNigmc3RyaW5nLCBzdHJpbmcgKyBsZW5ndGgsICZwLCBwICsgbGVuZ3Ro
KSkKKyAgICAgICAgcmV0dXJuIDA7CiAKICAgICByZXR1cm4gdG9SZWYoVVN0cmluZyhyZWludGVy
cHJldF9jYXN0PEtKUzo6VUNoYXIqPihidWZmZXIuZGF0YSgpKSwgcCAtIGJ1ZmZlci5kYXRhKCkp
LnJlcCgpLT5yZWYoKSk7CiB9CkluZGV4OiBKYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL0ph
dmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDI3Nzg1KQor
KysgSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agkod29ya2luZyBjb3B5KQpAQCAtMjM0LDYgKzIzNCw4IEBACiAJCUJDRjY1NTU5MEEyMDQ5NzEw
MDM4QTE5NCAvKiBNYXRoRXh0cmFzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBCQ0Y2NTUzQjBBMjA0OERFMDAzOEExOTQgLyogTWF0aEV4dHJhcy5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUQyMTIwMjJC
MEFENDMxMEQwMEVENzlCNiAvKiBEYXRlTWF0aC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRDIxMjAyMjkwQUQ0MzEwQzAwRUQ3OUI2IC8qIERhdGVNYXRo
LmggKi87IH07CiAJCUUxMUQ1MTc2MEIyRTc5OEQwMDU2QzE4OCAvKiBTdHJpbmdFeHRyYXMuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxMUQ1MTc1MEIy
RTc5OEQwMDU2QzE4OCAvKiBTdHJpbmdFeHRyYXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRF
UyA9IChQcml2YXRlLCApOyB9OyB9OworCQlFMTU1MEM3MDBDRUFFMERBMDAzRkU1MTMgLyogVW5p
Y29kZUljdS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RTE1NTBDNkYwQ0VBRTBEQTAwM0ZFNTEzIC8qIFVuaWNvZGVJY3UuaCAqLzsgfTsKKwkJRTE1NTBD
NzIwQ0VBRTBFMzAwM0ZFNTEzIC8qIFVuaWNvZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxNTUwQzcxMENFQUUwRTMwMDNGRTUxMyAvKiBVbmljb2Rl
LmggKi87IH07CiAJCUUxOTU2Nzk2MDlFN0NGMTIwMEI4OUQxMyAvKiBVbmljb2RlSWN1LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMTk1Njc4RjA5RTdD
RjEyMDBCODlEMTMgLyogVW5pY29kZUljdS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07CiAJCUUxOTU2Nzk4MDlFN0NGMTIwMEI4OUQxMyAvKiBVbmljb2Rl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMTk1Njc5
NDA5RTdDRjEyMDBCODlEMTMgLyogVW5pY29kZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCUUxRUY3OUFBMENFOTdCQTYwMDg4RDUwMCAvKiBVVEY4
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxRUY3
OUE4MENFOTdCQTYwMDg4RDUwMCAvKiBVVEY4LmNwcCAqLzsgfTsKQEAgLTU5MSwxMCArNTkzLDEy
IEBACiAJCUQyMTIwMjI4MEFENDMxMEMwMEVENzlCNiAvKiBEYXRlTWF0aC5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRGF0ZU1hdGguY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlEMjEyMDIyOTBBRDQzMTBDMDBFRDc5QjYgLyogRGF0ZU1hdGguaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERhdGVNYXRoLmg7IHBhdGggPSAuLi9r
anMvRGF0ZU1hdGguaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTExRDUxNzUwQjJF
Nzk4RDAwNTZDMTg4IC8qIFN0cmluZ0V4dHJhcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBTdHJpbmdFeHRyYXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTE1
NTBDNkYwQ0VBRTBEQTAwM0ZFNTEzIC8qIFVuaWNvZGVJY3UuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gVW5pY29kZUljdS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlFMTU1MEM3MTBDRUFFMEUzMDAzRkU1MTMgLyogVW5pY29kZS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBVbmljb2RlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUUxOTU2NzhGMDlFN0NGMTIwMEI4OUQxMyAvKiBVbmljb2RlSWN1LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgbmFtZSA9IFVuaWNvZGVJY3UuaDsgcGF0aCA9IHVuaWNvZGUvaWN1L1VuaWNv
ZGVJY3UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRTE5NTY3OTQwOUU3Q0YxMjAw
Qjg5RDEzIC8qIFVuaWNvZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gVW5p
Y29kZS5oOyBwYXRoID0gdW5pY29kZS9Vbmljb2RlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUUxRUY3OUE4MENFOTdCQTYwMDg4RDUwMCAvKiBVVEY4LmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFVURjguY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwotCQlFMUVGNzlBOTBDRTk3QkE2MDA4OEQ1MDAgLyogVVRGOC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IG5hbWUgPSBVVEY4Lmg7IHBhdGggPSB1bmljb2RlL1VURjguaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTFFRjc5QTkwQ0U5N0JBNjAwODhENTAwIC8qIFVURjgu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVVRGOC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlGNUJCMkJDNTAzMEY3NzIxMDFGQ0ZFMUQgLyogY29tcGxldGlvbi5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRX
aWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBjb21w
bGV0aW9uLmg7IHBhdGggPSAuLi9ranMvY29tcGxldGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB0YWJXaWR0aCA9IDg7IH07CiAJCUY1QzI5MEU2MDI4NEY5OEUwMTg2MzVDQSAvKiBKYXZh
U2NyaXB0Q29yZVByZWZpeC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IG5hbWUgPSBKYXZhU2NyaXB0Q29yZVByZWZpeC5oOyBwYXRoID0gLi4vSmF2YVNjcmlw
dENvcmVQcmVmaXguaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB9Owog
CQlGNUZGRTY1NjAyNkI0N0E2MDE4NjM1Q0EgLyogbm9kZXMyc3RyaW5nLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGggPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IG5vZGVzMnN0cmlu
Zy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgfTsKQEAgLTk5Miw3
ICs5OTYsNiBAQAogCQkJCUUxOTU2NzhGMDlFN0NGMTIwMEI4OUQxMyAvKiBVbmljb2RlSWN1Lmgg
Ki8sCiAJCQkJOTM1QUY0NkIwOUU5RDlEQjAwQUNEMUQ4IC8qIFVudXNlZFBhcmFtLmggKi8sCiAJ
CQkJRjY5MkE4ODYwMjU1NTk3RDAxRkY2MEY3IC8qIHVzdHJpbmcuaCAqLywKLQkJCQlFMUVGNzlB
OTBDRTk3QkE2MDA4OEQ1MDAgLyogVVRGOC5oICovLAogCQkJCTE0QUJCMzZFMDk5QzA3NjQwMEUy
QTI0RiAvKiB2YWx1ZS5oICovLAogCQkJCTY1OTJDMzE2MDk4QjdERTEwMDAzRDRGNiAvKiBWZWN0
b3IuaCAqLywKIAkJCQk2NTkyQzMxNzA5OEI3REUxMDAwM0Q0RjYgLyogVmVjdG9yVHJhaXRzLmgg
Ki8sCkBAIC0xMDk2LDYgKzEwOTksOCBAQAogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJl
biA9ICgKIAkJCQlFMTk1Njc4RTA5RTdDRjEyMDBCODlEMTMgLyogaWN1ICovLAorCQkJCUUxNTUw
QzcxMENFQUUwRTMwMDNGRTUxMyAvKiBVbmljb2RlLmggKi8sCisJCQkJRTFFRjc5QTkwQ0U5N0JB
NjAwODhENTAwIC8qIFVURjguaCAqLywKIAkJCQlFMUVGNzlBODBDRTk3QkE2MDA4OEQ1MDAgLyog
VVRGOC5jcHAgKi8sCiAJCQkpOwogCQkJcGF0aCA9IHVuaWNvZGU7CkBAIC0xMTA0LDYgKzExMDks
NyBAQAogCQlFMTk1Njc4RTA5RTdDRjEyMDBCODlEMTMgLyogaWN1ICovID0gewogCQkJaXNhID0g
UEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQlFMTU1MEM2RjBDRUFFMERBMDAzRkU1MTMg
LyogVW5pY29kZUljdS5oICovLAogCQkJKTsKIAkJCXBhdGggPSBpY3U7CiAJCQlzb3VyY2VUcmVl
ID0gIjxncm91cD4iOwpAQCAtMTI2NCw2ICsxMjcwLDggQEAKIAkJCQkxNEFCQjM2RjA5OUMwNzY0
MDBFMkEyNEYgLyogdmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxRUY3OUFCMENFOTdCQTYw
MDg4RDUwMCAvKiBVVEY4LmggaW4gSGVhZGVycyAqLywKIAkJCQkxNDE5RDMyRDBDRUE3Q0RFMDBG
RjUwN0EgLyogUmVmQ291bnRlZC5oIGluIEhlYWRlcnMgKi8sCisJCQkJRTE1NTBDNzAwQ0VBRTBE
QTAwM0ZFNTEzIC8qIFVuaWNvZGVJY3UuaCBpbiBIZWFkZXJzICovLAorCQkJCUUxNTUwQzcyMENF
QUUwRTMwMDNGRTUxMyAvKiBVbmljb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5P
bmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKSW5kZXg6IEphdmFTY3Jp
cHRDb3JlL2JpbmRpbmdzL2MvY191dGlsaXR5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9iaW5kaW5ncy9jL2NfdXRpbGl0eS5jcHAJKHJldmlzaW9uIDI3Nzg1KQorKysgSmF2YVNj
cmlwdENvcmUvYmluZGluZ3MvYy9jX3V0aWxpdHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Niwx
MyArNDYsNyBAQCB1c2luZyBuYW1lc3BhY2UgV1RGOjpVbmljb2RlOwogbmFtZXNwYWNlIEtKUyB7
IG5hbWVzcGFjZSBCaW5kaW5ncyB7CiAKIC8vIFJlcXVpcmVzIGZyZWUoKSBvZiByZXR1cm5lZCBV
VEYxNkNoYXJzLgotdm9pZCBjb252ZXJ0TlBTdHJpbmdUb1VURjE2KGNvbnN0IE5QU3RyaW5nICpz
dHJpbmcsIE5QVVRGMTYgKipVVEYxNkNoYXJzLCB1bnNpZ25lZCBpbnQgKlVURjE2TGVuZ3RoKQot
ewotICAgIGNvbnZlcnRVVEY4VG9VVEYxNihzdHJpbmctPlVURjhDaGFyYWN0ZXJzLCBzdHJpbmct
PlVURjhMZW5ndGgsIFVURjE2Q2hhcnMsIFVURjE2TGVuZ3RoKTsKLX0KLQotLy8gUmVxdWlyZXMg
ZnJlZSgpIG9mIHJldHVybmVkIFVURjE2Q2hhcnMuCi12b2lkIGNvbnZlcnRVVEY4VG9VVEYxNihj
b25zdCBOUFVURjgqIFVURjhDaGFycywgaW50IFVURjhMZW5ndGgsIE5QVVRGMTYqKiBVVEYxNkNo
YXJzLCB1bnNpZ25lZCBpbnQqIFVURjE2TGVuZ3RoKQorc3RhdGljIHZvaWQgY29udmVydFVURjhU
b1VURjE2V2l0aExhdGluMUZhbGxiYWNrKGNvbnN0IE5QVVRGOCogVVRGOENoYXJzLCBpbnQgVVRG
OExlbmd0aCwgTlBVVEYxNioqIFVURjE2Q2hhcnMsIHVuc2lnbmVkIGludCogVVRGMTZMZW5ndGgp
CiB7CiAgICAgQVNTRVJUKFVURjhDaGFycyB8fCBVVEY4TGVuZ3RoID09IDApOwogICAgIEFTU0VS
VChVVEYxNkNoYXJzKTsKQEAgLTY5LDcgKzYzLDcgQEAgdm9pZCBjb252ZXJ0VVRGOFRvVVRGMTYo
Y29uc3QgTlBVVEY4KiBVVAogICAgIDo6VUNoYXIqIHRhcmdldHN0YXJ0ID0gcmVpbnRlcnByZXRf
Y2FzdDwgOjpVQ2hhcio+KCpVVEYxNkNoYXJzKTsKICAgICA6OlVDaGFyKiB0YXJnZXRlbmQgPSB0
YXJnZXRzdGFydCArIFVURjhMZW5ndGg7CiAgICAgCi0gICAgQ29udmVyc2lvblJlc3VsdCByZXN1
bHQgPSBDb252ZXJ0VVRGOFRvVVRGMTYoJnNvdXJjZXN0YXJ0LCBzb3VyY2VlbmQsICZ0YXJnZXRz
dGFydCwgdGFyZ2V0ZW5kLCB0cnVlKTsKKyAgICBDb252ZXJzaW9uUmVzdWx0IHJlc3VsdCA9IGNv
bnZlcnRVVEY4VG9VVEYxNigmc291cmNlc3RhcnQsIHNvdXJjZWVuZCwgJnRhcmdldHN0YXJ0LCB0
YXJnZXRlbmQpOwogICAgIAogICAgICpVVEYxNkxlbmd0aCA9IHRhcmdldHN0YXJ0IC0gcmVpbnRl
cnByZXRfY2FzdDwgOjpVQ2hhcio+KCpVVEYxNkNoYXJzKTsKIApAQCAtMTc4LDExICsxNzIsMTcg
QEAgSlNWYWx1ZSAqY29udmVydE5QVmFyaWFudFRvVmFsdWUoRXhlY1N0YQogICAgIHJldHVybiBq
c1VuZGVmaW5lZCgpOwogfQogCisvLyBSZXF1aXJlcyBmcmVlKCkgb2YgcmV0dXJuZWQgVVRGMTZD
aGFycy4KK3ZvaWQgY29udmVydE5QU3RyaW5nVG9VVEYxNihjb25zdCBOUFN0cmluZyAqc3RyaW5n
LCBOUFVURjE2ICoqVVRGMTZDaGFycywgdW5zaWduZWQgaW50ICpVVEYxNkxlbmd0aCkKK3sKKyAg
ICBjb252ZXJ0VVRGOFRvVVRGMTZXaXRoTGF0aW4xRmFsbGJhY2soc3RyaW5nLT5VVEY4Q2hhcmFj
dGVycywgc3RyaW5nLT5VVEY4TGVuZ3RoLCBVVEYxNkNoYXJzLCBVVEYxNkxlbmd0aCk7Cit9CisK
IElkZW50aWZpZXIgaWRlbnRpZmllckZyb21OUElkZW50aWZpZXIoY29uc3QgTlBVVEY4KiBuYW1l
KQogewogICAgIE5QVVRGMTYgKm1ldGhvZE5hbWU7CiAgICAgdW5zaWduZWQgVVRGMTZMZW5ndGg7
Ci0gICAgY29udmVydFVURjhUb1VURjE2KG5hbWUsIC0xLCAmbWV0aG9kTmFtZSwgJlVURjE2TGVu
Z3RoKTsgLy8gcmVxdWlyZXMgZnJlZSgpIG9mIHJldHVybmVkIG1lbW9yeS4KKyAgICBjb252ZXJ0
VVRGOFRvVVRGMTZXaXRoTGF0aW4xRmFsbGJhY2sobmFtZSwgLTEsICZtZXRob2ROYW1lLCAmVVRG
MTZMZW5ndGgpOyAvLyByZXF1aXJlcyBmcmVlKCkgb2YgcmV0dXJuZWQgbWVtb3J5LgogICAgIElk
ZW50aWZpZXIgaWRlbnRpZmllcigoY29uc3QgS0pTOjpVQ2hhciopbWV0aG9kTmFtZSwgVVRGMTZM
ZW5ndGgpOwogICAgIGZyZWUobWV0aG9kTmFtZSk7CiAgICAgcmV0dXJuIGlkZW50aWZpZXI7Cklu
ZGV4OiBKYXZhU2NyaXB0Q29yZS9iaW5kaW5ncy9jL2NfdXRpbGl0eS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IEphdmFTY3JpcHRDb3JlL2JpbmRpbmdzL2MvY191dGlsaXR5LmgJKHJldmlzaW9uIDI3Nzg1KQor
KysgSmF2YVNjcmlwdENvcmUvYmluZGluZ3MvYy9jX3V0aWxpdHkuaAkod29ya2luZyBjb3B5KQpA
QCAtNTMsNyArNTMsNiBAQCBlbnVtIE5QX1ZhbHVlVHlwZSB7CiB9OwogCiB2b2lkIGNvbnZlcnRO
UFN0cmluZ1RvVVRGMTYoY29uc3QgTlBTdHJpbmcqLCBOUFVURjE2KiogVVRGMTZDaGFycywgdW5z
aWduZWQgaW50KiBVVEYxNkxlbmd0aCk7Ci12b2lkIGNvbnZlcnRVVEY4VG9VVEYxNihjb25zdCBO
UFVURjgqIFVURjhDaGFycywgaW50IFVURjhMZW5ndGgsIE5QVVRGMTYqKiBVVEYxNkNoYXJzLCB1
bnNpZ25lZCBpbnQqIFVURjE2TGVuZ3RoKTsKIHZvaWQgY29udmVydFZhbHVlVG9OUFZhcmlhbnQo
RXhlY1N0YXRlKiwgSlNWYWx1ZSosIE5QVmFyaWFudCogcmVzdWx0KTsKIEpTVmFsdWUqIGNvbnZl
cnROUFZhcmlhbnRUb1ZhbHVlKEV4ZWNTdGF0ZSosIGNvbnN0IE5QVmFyaWFudCosIFJvb3RPYmpl
Y3QqKTsKIElkZW50aWZpZXIgaWRlbnRpZmllckZyb21OUElkZW50aWZpZXIoY29uc3QgTlBVVEY4
KiBuYW1lKTsKSW5kZXg6IEphdmFTY3JpcHRDb3JlL2tqcy91c3RyaW5nLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBKYXZhU2NyaXB0Q29yZS9ranMvdXN0cmluZy5jcHAJKHJldmlzaW9uIDI3Nzg1KQorKysg
SmF2YVNjcmlwdENvcmUva2pzL3VzdHJpbmcuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjgyLDcg
KzEyODIsNyBAQCBDU3RyaW5nIFVTdHJpbmc6OlVURjhTdHJpbmcoYm9vbCBzdHJpY3QpCiAgIC8v
IENvbnZlcnQgdG8gcnVucyBvZiA4LWJpdCBjaGFyYWN0ZXJzLgogICBjaGFyKiBwID0gYnVmZmVy
LmRhdGEoKTsKICAgY29uc3QgOjpVQ2hhciogZCA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgOjpV
Q2hhcio+KCZkYXRhKCktPnVjKTsKLSAgQ29udmVyc2lvblJlc3VsdCByZXN1bHQgPSBDb252ZXJ0
VVRGMTZUb1VURjgoJmQsIGQgKyBsZW5ndGgsICZwLCBwICsgYnVmZmVyLnNpemUoKSwgc3RyaWN0
KTsKKyAgQ29udmVyc2lvblJlc3VsdCByZXN1bHQgPSBjb252ZXJ0VVRGMTZUb1VURjgoJmQsIGQg
KyBsZW5ndGgsICZwLCBwICsgYnVmZmVyLnNpemUoKSwgc3RyaWN0KTsKICAgaWYgKHJlc3VsdCAh
PSBjb252ZXJzaW9uT0spCiAgICAgcmV0dXJuIENTdHJpbmcoKTsKIApJbmRleDogSmF2YVNjcmlw
dENvcmUvd3RmL3VuaWNvZGUvVVRGOC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUv
d3RmL3VuaWNvZGUvVVRGOC5jcHAJKHJldmlzaW9uIDI3Nzg1KQorKysgSmF2YVNjcmlwdENvcmUv
d3RmL3VuaWNvZGUvVVRGOC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExOSw3ICsxMTksNyBAQCBp
bnQgZGVjb2RlVVRGOFNlcXVlbmNlKGNvbnN0IGNoYXIqIHNlcXVlCiAvLyBmb3IgKmxlZ2FsKiBV
VEYtOCB3aWxsIGJlIDQgb3IgZmV3ZXIgYnl0ZXMgdG90YWwuCiBzdGF0aWMgY29uc3QgdW5zaWdu
ZWQgY2hhciBmaXJzdEJ5dGVNYXJrWzddID0geyAweDAwLCAweDAwLCAweEMwLCAweEUwLCAweEYw
LCAweEY4LCAweEZDIH07CiAKLUNvbnZlcnNpb25SZXN1bHQgQ29udmVydFVURjE2VG9VVEY4KAor
Q29udmVyc2lvblJlc3VsdCBjb252ZXJ0VVRGMTZUb1VURjgoCiAgICAgY29uc3QgVUNoYXIqKiBz
b3VyY2VTdGFydCwgY29uc3QgVUNoYXIqIHNvdXJjZUVuZCwgCiAgICAgY2hhcioqIHRhcmdldFN0
YXJ0LCBjaGFyKiB0YXJnZXRFbmQsIGJvb2wgc3RyaWN0KQogewpAQCAtMjMwLDcgKzIzMCw3IEBA
IHN0YXRpYyBib29sIGlzTGVnYWxVVEY4KGNvbnN0IHVuc2lnbmVkIGMKIHN0YXRpYyBjb25zdCBV
Q2hhcjMyIG9mZnNldHNGcm9tVVRGOFs2XSA9IHsgMHgwMDAwMDAwMFVMLCAweDAwMDAzMDgwVUws
IDB4MDAwRTIwODBVTCwgCiAgICAgICAgICAgICAweDAzQzgyMDgwVUwsIDB4RkEwODIwODBVTCwg
MHg4MjA4MjA4MFVMIH07CiAKLUNvbnZlcnNpb25SZXN1bHQgQ29udmVydFVURjhUb1VURjE2KAor
Q29udmVyc2lvblJlc3VsdCBjb252ZXJ0VVRGOFRvVVRGMTYoCiAgICAgY29uc3QgY2hhcioqIHNv
dXJjZVN0YXJ0LCBjb25zdCBjaGFyKiBzb3VyY2VFbmQsIAogICAgIFVDaGFyKiogdGFyZ2V0U3Rh
cnQsIFVDaGFyKiB0YXJnZXRFbmQsIGJvb2wgc3RyaWN0KQogewpJbmRleDogSmF2YVNjcmlwdENv
cmUvd3RmL3VuaWNvZGUvVVRGOC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL3d0Zi91
bmljb2RlL1VURjguaAkocmV2aXNpb24gMjc3ODUpCisrKyBKYXZhU2NyaXB0Q29yZS93dGYvdW5p
Y29kZS9VVEY4LmgJKHdvcmtpbmcgY29weSkKQEAgLTYyLDExICs2MiwxMSBAQCBuYW1lc3BhY2Ug
V1RGIHsKICAgICAvLyB0byB0aGUgcmVwbGFjZW1lbnQgY2hhcmFjdGVyOyBvdGhlcndpc2UgKHdo
ZW4gdGhlIGZsYWcgaXMgc2V0IHRvIHN0cmljdCkKICAgICAvLyB0aGV5IGNvbnN0aXR1dGUgYW4g
ZXJyb3IuCiAKLSAgICBDb252ZXJzaW9uUmVzdWx0IENvbnZlcnRVVEY4VG9VVEYxNigKKyAgICBD
b252ZXJzaW9uUmVzdWx0IGNvbnZlcnRVVEY4VG9VVEYxNigKICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgY2hhcioqIHNvdXJjZVN0YXJ0LCBjb25zdCBjaGFyKiBzb3VyY2VFbmQsIAogICAgICAg
ICAgICAgICAgICAgICBVQ2hhcioqIHRhcmdldFN0YXJ0LCBVQ2hhciogdGFyZ2V0RW5kLCBib29s
IHN0cmljdCA9IHRydWUpOwogCi0gICAgQ29udmVyc2lvblJlc3VsdCBDb252ZXJ0VVRGMTZUb1VU
RjgoCisgICAgQ29udmVyc2lvblJlc3VsdCBjb252ZXJ0VVRGMTZUb1VURjgoCiAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IFVDaGFyKiogc291cmNlU3RhcnQsIGNvbnN0IFVDaGFyKiBzb3VyY2VF
bmQsIAogICAgICAgICAgICAgICAgICAgICBjaGFyKiogdGFyZ2V0U3RhcnQsIGNoYXIqIHRhcmdl
dEVuZCwgYm9vbCBzdHJpY3QgPSB0cnVlKTsKICAgfQo=
</data>
<flag name="review"
          id="7360"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>