<?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>199277</bug_id>
          
          <creation_ts>2019-06-27 10:49:17 -0700</creation_ts>
          <short_desc>Protect StorageManager::LocalStorageNamespace::m_storageAreaMap with a mutex</short_desc>
          <delta_ts>2019-06-27 13:12:39 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</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="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>ggaren</cc>
    
    <cc>sihui_liu</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1548523</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-06-27 10:49:17 -0700</bug_when>
    <thetext>Protect StorageManager::LocalStorageNamespace::m_storageAreaMap with a mutex</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1548524</commentid>
    <comment_count>1</comment_count>
      <attachid>373036</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-06-27 10:52:00 -0700</bug_when>
    <thetext>Created attachment 373036
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1548525</commentid>
    <comment_count>2</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-06-27 10:52:02 -0700</bug_when>
    <thetext>&lt;rdar://problem/52098995&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1548551</commentid>
    <comment_count>3</comment_count>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2019-06-27 11:23:27 -0700</bug_when>
    <thetext>https://bugs.webkit.org/show_bug.cgi?id=199278 may solve this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1548558</commentid>
    <comment_count>4</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2019-06-27 11:37:11 -0700</bug_when>
    <thetext>Given that bug 199278 removes didDestroyStorageArea, I think this patch is obsolete. (Also, given the hang mentioned in bug 199278, this patch would probably cause more hangs.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1548592</commentid>
    <comment_count>5</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-06-27 13:12:39 -0700</bug_when>
    <thetext>Agreed.  That patch is what we should do instead</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>373036</attachid>
            <date>2019-06-27 10:52:00 -0700</date>
            <delta_ts>2019-06-27 11:37:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199277-20190627105159.patch</filename>
            <type>text/plain</type>
            <size>9318</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ2ODYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGE3MDgyYTlmOTgxMjQ0ZWUz
ZmU2ODFlZjZlNWQwNDA2NmM0YjUwMzUuLjE5MjU4MWIxMTNjN2E0ODg2MmU1NjIyMjc4M2M2MTk1
MGMxY2VmYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMTktMDYtMjcgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBQcm90ZWN0IFN0
b3JhZ2VNYW5hZ2VyOjpMb2NhbFN0b3JhZ2VOYW1lc3BhY2U6Om1fc3RvcmFnZUFyZWFNYXAgd2l0
aCBhIG11dGV4CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xOTkyNzcKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzUyMDk4OTk1PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIExvY2FsU3RvcmFnZU5hbWVzcGFj
ZTo6ZGlkRGVzdHJveVN0b3JhZ2VBcmVhIGlzIGNhbGxlZCBmcm9tIHRoZSBtYWluIHRocmVhZCwg
YnV0IG90aGVyIHVzZXMgb2YgbV9zdG9yYWdlQXJlYU1hcCBhcmUgZnJvbSBTdG9yYWdlTWFuYWdl
cidzIG1fcXVldWUuCisgICAgICAgIFRvIGJlIGV4dHJhIGNsZWFyIGFuZCBjYXJlZnVsLCBJIGFk
ZGVkIG11dGV4ZXMgb24gYWxsIG1fc3RvcmFnZUFyZWFNYXBzIGluIHRoaXMgZmlsZS4KKworICAg
ICAgICAqIE5ldHdvcmtQcm9jZXNzL1dlYlN0b3JhZ2UvU3RvcmFnZU1hbmFnZXIuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpTdG9yYWdlTWFuYWdlcjo6VHJhbnNpZW50TG9jYWxTdG9yYWdlTmFtZXNw
YWNlOjpnZXRPckNyZWF0ZVN0b3JhZ2VBcmVhKToKKyAgICAgICAgKFdlYktpdDo6U3RvcmFnZU1h
bmFnZXI6OlRyYW5zaWVudExvY2FsU3RvcmFnZU5hbWVzcGFjZTo6b3JpZ2lucyBjb25zdCk6Cisg
ICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VNYW5hZ2VyOjpUcmFuc2llbnRMb2NhbFN0b3JhZ2VOYW1l
c3BhY2U6OmNsZWFyU3RvcmFnZUFyZWFzTWF0Y2hpbmdPcmlnaW4pOgorICAgICAgICAoV2ViS2l0
OjpTdG9yYWdlTWFuYWdlcjo6VHJhbnNpZW50TG9jYWxTdG9yYWdlTmFtZXNwYWNlOjpjbGVhckFs
bFN0b3JhZ2VBcmVhcyk6CisgICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VNYW5hZ2VyOjpMb2NhbFN0
b3JhZ2VOYW1lc3BhY2U6OmdldE9yQ3JlYXRlU3RvcmFnZUFyZWEpOgorICAgICAgICAoV2ViS2l0
OjpTdG9yYWdlTWFuYWdlcjo6TG9jYWxTdG9yYWdlTmFtZXNwYWNlOjpkaWREZXN0cm95U3RvcmFn
ZUFyZWEpOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdlTWFuYWdlcjo6TG9jYWxTdG9yYWdlTmFt
ZXNwYWNlOjpjbGVhclN0b3JhZ2VBcmVhc01hdGNoaW5nT3JpZ2luKToKKyAgICAgICAgKFdlYktp
dDo6U3RvcmFnZU1hbmFnZXI6OkxvY2FsU3RvcmFnZU5hbWVzcGFjZTo6Y2xlYXJBbGxTdG9yYWdl
QXJlYXMpOgorICAgICAgICAoV2ViS2l0OjpTdG9yYWdlTWFuYWdlcjo6TG9jYWxTdG9yYWdlTmFt
ZXNwYWNlOjplcGhlbWVyYWxPcmlnaW5zIGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6U3RvcmFn
ZU1hbmFnZXI6OkxvY2FsU3RvcmFnZU5hbWVzcGFjZTo6Y2xvbmVUbyk6CisgICAgICAgIChXZWJL
aXQ6OlN0b3JhZ2VNYW5hZ2VyOjpTZXNzaW9uU3RvcmFnZU5hbWVzcGFjZTo6aXNFbXB0eSBjb25z
dCk6CisgICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VNYW5hZ2VyOjpTZXNzaW9uU3RvcmFnZU5hbWVz
cGFjZTo6Z2V0T3JDcmVhdGVTdG9yYWdlQXJlYSk6CisgICAgICAgIChXZWJLaXQ6OlN0b3JhZ2VN
YW5hZ2VyOjpTZXNzaW9uU3RvcmFnZU5hbWVzcGFjZTo6Y2xvbmVUbyk6CisKIDIwMTktMDYtMjYg
IFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgW2lQYWRP
U10gRml4IGFub3RoZXIgY3Jhc2ggaW4gLVtVSVByZXZpZXdUYXJnZXQgaW5pdFdpdGhDb250YWlu
ZXI6Y2VudGVyOnRyYW5zZm9ybTpdIHdoZW4gZ2VuZXJhdGluZyBhIGZhbGxiYWNrIHRhcmdldGVk
IHByZXZpZXcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvV2ViU3Rv
cmFnZS9TdG9yYWdlTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1dl
YlN0b3JhZ2UvU3RvcmFnZU1hbmFnZXIuY3BwCmluZGV4IDUwZmRlOTBkNjE1ZWQ1ODg5NjAxNWM2
OWEyYjA5MTUyZmQyZmIyN2IuLjAyZWQ0ZTdiZmI2ZTUwYjE0ZTQ1OTQxZTkyZjk2NzQ4NzZkODY2
MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvV2ViU3RvcmFnZS9T
dG9yYWdlTWFuYWdlci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9XZWJT
dG9yYWdlL1N0b3JhZ2VNYW5hZ2VyLmNwcApAQCAtMTA5LDYgKzEwOSw3IEBAIHByaXZhdGU6CiAg
ICAgdW5zaWduZWQgbV9xdW90YUluQnl0ZXM7CiAKICAgICBIYXNoTWFwPFNlY3VyaXR5T3JpZ2lu
RGF0YSwgUmVmUHRyPFN0b3JhZ2VBcmVhPj4gbV9zdG9yYWdlQXJlYU1hcDsKKyAgICBtdXRhYmxl
IExvY2sgbV9zdG9yYWdlQXJlYU1hcE11dGV4OwogfTsKIAogLy8gU3VnZ2VzdGVkIGJ5IGh0dHBz
Oi8vd3d3LnczLm9yZy9UUi93ZWJzdG9yYWdlLyNkaXNrLXNwYWNlCkBAIC0xMjcsNiArMTI4LDcg
QEAgcHVibGljOgogCiAgICAgUmVmPFN0b3JhZ2VBcmVhPiBnZXRPckNyZWF0ZVN0b3JhZ2VBcmVh
KFNlY3VyaXR5T3JpZ2luRGF0YSYmIHNlY3VyaXR5T3JpZ2luKQogICAgIHsKKyAgICAgICAgc3Rk
Ojpsb2NrX2d1YXJkPExvY2s+IGxvY2sobV9zdG9yYWdlQXJlYU1hcE11dGV4KTsKICAgICAgICAg
cmV0dXJuICptX3N0b3JhZ2VBcmVhTWFwLmVuc3VyZShzZWN1cml0eU9yaWdpbiwgW3RoaXMsICZz
ZWN1cml0eU9yaWdpbl0oKSBtdXRhYmxlIHsKICAgICAgICAgICAgIHJldHVybiBTdG9yYWdlQXJl
YTo6Y3JlYXRlKG51bGxwdHIsIFdURk1vdmUoc2VjdXJpdHlPcmlnaW4pLCBtX3F1b3RhSW5CeXRl
cyk7CiAgICAgICAgIH0pLml0ZXJhdG9yLT52YWx1ZS5jb3B5UmVmKCk7CkBAIC0xMzYsNiArMTM4
LDcgQEAgcHVibGljOgogICAgIHsKICAgICAgICAgVmVjdG9yPFNlY3VyaXR5T3JpZ2luRGF0YT4g
b3JpZ2luczsKIAorICAgICAgICBzdGQ6OmxvY2tfZ3VhcmQ8TG9jaz4gbG9jayhtX3N0b3JhZ2VB
cmVhTWFwTXV0ZXgpOwogICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIHN0b3JhZ2VBcmVhIDogbV9z
dG9yYWdlQXJlYU1hcC52YWx1ZXMoKSkgewogICAgICAgICAgICAgaWYgKCFzdG9yYWdlQXJlYS0+
aXRlbXMoKS5pc0VtcHR5KCkpCiAgICAgICAgICAgICAgICAgb3JpZ2lucy5hcHBlbmQoc3RvcmFn
ZUFyZWEtPnNlY3VyaXR5T3JpZ2luKCkpOwpAQCAtMTQ2LDYgKzE0OSw3IEBAIHB1YmxpYzoKIAog
ICAgIHZvaWQgY2xlYXJTdG9yYWdlQXJlYXNNYXRjaGluZ09yaWdpbihjb25zdCBTZWN1cml0eU9y
aWdpbkRhdGEmIHNlY3VyaXR5T3JpZ2luKQogICAgIHsKKyAgICAgICAgc3RkOjpsb2NrX2d1YXJk
PExvY2s+IGxvY2sobV9zdG9yYWdlQXJlYU1hcE11dGV4KTsKICAgICAgICAgYXV0byBvcmlnaW5B
bmRTdG9yYWdlQXJlYSA9IG1fc3RvcmFnZUFyZWFNYXAuZmluZChzZWN1cml0eU9yaWdpbik7CiAg
ICAgICAgIGlmIChvcmlnaW5BbmRTdG9yYWdlQXJlYSAhPSBtX3N0b3JhZ2VBcmVhTWFwLmVuZCgp
KQogICAgICAgICAgICAgb3JpZ2luQW5kU3RvcmFnZUFyZWEtPnZhbHVlLT5jbGVhcigpOwpAQCAt
MTUzLDYgKzE1Nyw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgY2xlYXJBbGxTdG9yYWdlQXJlYXMo
KQogICAgIHsKKyAgICAgICAgc3RkOjpsb2NrX2d1YXJkPExvY2s+IGxvY2sobV9zdG9yYWdlQXJl
YU1hcE11dGV4KTsKICAgICAgICAgZm9yIChhdXRvJiBzdG9yYWdlQXJlYSA6IG1fc3RvcmFnZUFy
ZWFNYXAudmFsdWVzKCkpCiAgICAgICAgICAgICBzdG9yYWdlQXJlYS0+Y2xlYXIoKTsKICAgICB9
CkBAIC0xNjUsNiArMTcwLDcgQEAgcHJpdmF0ZToKICAgICBjb25zdCB1bnNpZ25lZCBtX3F1b3Rh
SW5CeXRlcyA9IGxvY2FsU3RvcmFnZURhdGFiYXNlUXVvdGFJbkJ5dGVzOwogCiAgICAgSGFzaE1h
cDxTZWN1cml0eU9yaWdpbkRhdGEsIFJlZlB0cjxTdG9yYWdlQXJlYT4+IG1fc3RvcmFnZUFyZWFN
YXA7CisgICAgbXV0YWJsZSBMb2NrIG1fc3RvcmFnZUFyZWFNYXBNdXRleDsKIH07CiAKIGF1dG8g
U3RvcmFnZU1hbmFnZXI6OlN0b3JhZ2VBcmVhOjpjcmVhdGUoTG9jYWxTdG9yYWdlTmFtZXNwYWNl
KiBsb2NhbFN0b3JhZ2VOYW1lc3BhY2UsIGNvbnN0IFNlY3VyaXR5T3JpZ2luRGF0YSYgc2VjdXJp
dHlPcmlnaW4sIHVuc2lnbmVkIHF1b3RhSW5CeXRlcykgLT4gUmVmPFN0b3JhZ2VNYW5hZ2VyOjpT
dG9yYWdlQXJlYT4KQEAgLTM2Miw2ICszNjgsNyBAQCBTdG9yYWdlTWFuYWdlcjo6TG9jYWxTdG9y
YWdlTmFtZXNwYWNlOjp+TG9jYWxTdG9yYWdlTmFtZXNwYWNlKCkKIGF1dG8gU3RvcmFnZU1hbmFn
ZXI6OkxvY2FsU3RvcmFnZU5hbWVzcGFjZTo6Z2V0T3JDcmVhdGVTdG9yYWdlQXJlYShTZWN1cml0
eU9yaWdpbkRhdGEmJiBzZWN1cml0eU9yaWdpbiwgSXNFcGhlbWVyYWwgaXNFcGhlbWVyYWwpIC0+
IFJlZjxTdG9yYWdlQXJlYT4KIHsKICAgICBSZWZQdHI8U3RvcmFnZUFyZWE+IHByb3RlY3RlZFN0
b3JhZ2VBcmVhOworICAgIHN0ZDo6bG9ja19ndWFyZDxMb2NrPiBsb2NrKG1fc3RvcmFnZUFyZWFN
YXBNdXRleCk7CiAgICAgcmV0dXJuICptX3N0b3JhZ2VBcmVhTWFwLmVuc3VyZShzZWN1cml0eU9y
aWdpbiwgWyZdKCkgbXV0YWJsZSB7CiAgICAgICAgIHByb3RlY3RlZFN0b3JhZ2VBcmVhID0gU3Rv
cmFnZUFyZWE6OmNyZWF0ZShpc0VwaGVtZXJhbCA9PSBJc0VwaGVtZXJhbDo6WWVzID8gbnVsbHB0
ciA6IHRoaXMsIFdURk1vdmUoc2VjdXJpdHlPcmlnaW4pLCBtX3F1b3RhSW5CeXRlcyk7CiAgICAg
ICAgIHJldHVybiBwcm90ZWN0ZWRTdG9yYWdlQXJlYS5nZXQoKTsKQEAgLTM3MCwxMSArMzc3LDE0
IEBAIGF1dG8gU3RvcmFnZU1hbmFnZXI6OkxvY2FsU3RvcmFnZU5hbWVzcGFjZTo6Z2V0T3JDcmVh
dGVTdG9yYWdlQXJlYShTZWN1cml0eU9yaWdpCiAKIHZvaWQgU3RvcmFnZU1hbmFnZXI6OkxvY2Fs
U3RvcmFnZU5hbWVzcGFjZTo6ZGlkRGVzdHJveVN0b3JhZ2VBcmVhKFN0b3JhZ2VBcmVhKiBzdG9y
YWdlQXJlYSkKIHsKLSAgICBBU1NFUlQobV9zdG9yYWdlQXJlYU1hcC5jb250YWlucyhzdG9yYWdl
QXJlYS0+c2VjdXJpdHlPcmlnaW4oKSkpOworICAgIHsKKyAgICAgICAgc3RkOjpsb2NrX2d1YXJk
PExvY2s+IGxvY2sobV9zdG9yYWdlQXJlYU1hcE11dGV4KTsKKyAgICAgICAgQVNTRVJUKG1fc3Rv
cmFnZUFyZWFNYXAuY29udGFpbnMoc3RvcmFnZUFyZWEtPnNlY3VyaXR5T3JpZ2luKCkpKTsKIAot
ICAgIG1fc3RvcmFnZUFyZWFNYXAucmVtb3ZlKHN0b3JhZ2VBcmVhLT5zZWN1cml0eU9yaWdpbigp
KTsKLSAgICBpZiAoIW1fc3RvcmFnZUFyZWFNYXAuaXNFbXB0eSgpKQotICAgICAgICByZXR1cm47
CisgICAgICAgIG1fc3RvcmFnZUFyZWFNYXAucmVtb3ZlKHN0b3JhZ2VBcmVhLT5zZWN1cml0eU9y
aWdpbigpKTsKKyAgICAgICAgaWYgKCFtX3N0b3JhZ2VBcmVhTWFwLmlzRW1wdHkoKSkKKyAgICAg
ICAgICAgIHJldHVybjsKKyAgICB9CiAKICAgICBzdGQ6OmxvY2tfZ3VhcmQ8TG9jaz4gbG9jayht
X3N0b3JhZ2VNYW5hZ2VyLm1fbG9jYWxTdG9yYWdlTmFtZXNwYWNlc011dGV4KTsKICAgICBBU1NF
UlQobV9zdG9yYWdlTWFuYWdlci5tX2xvY2FsU3RvcmFnZU5hbWVzcGFjZXMuY29udGFpbnMobV9z
dG9yYWdlTmFtZXNwYWNlSUQpKTsKQEAgLTM4Myw2ICszOTMsNyBAQCB2b2lkIFN0b3JhZ2VNYW5h
Z2VyOjpMb2NhbFN0b3JhZ2VOYW1lc3BhY2U6OmRpZERlc3Ryb3lTdG9yYWdlQXJlYShTdG9yYWdl
QXJlYSogcwogCiB2b2lkIFN0b3JhZ2VNYW5hZ2VyOjpMb2NhbFN0b3JhZ2VOYW1lc3BhY2U6OmNs
ZWFyU3RvcmFnZUFyZWFzTWF0Y2hpbmdPcmlnaW4oY29uc3QgU2VjdXJpdHlPcmlnaW5EYXRhJiBz
ZWN1cml0eU9yaWdpbikKIHsKKyAgICBzdGQ6OmxvY2tfZ3VhcmQ8TG9jaz4gbG9jayhtX3N0b3Jh
Z2VBcmVhTWFwTXV0ZXgpOwogICAgIGF1dG8gb3JpZ2luQW5kU3RvcmFnZUFyZWEgPSBtX3N0b3Jh
Z2VBcmVhTWFwLmZpbmQoc2VjdXJpdHlPcmlnaW4pOwogICAgIGlmIChvcmlnaW5BbmRTdG9yYWdl
QXJlYSAhPSBtX3N0b3JhZ2VBcmVhTWFwLmVuZCgpKQogICAgICAgICBvcmlnaW5BbmRTdG9yYWdl
QXJlYS0+dmFsdWUtPmNsZWFyKCk7CkBAIC0zOTAsNiArNDAxLDcgQEAgdm9pZCBTdG9yYWdlTWFu
YWdlcjo6TG9jYWxTdG9yYWdlTmFtZXNwYWNlOjpjbGVhclN0b3JhZ2VBcmVhc01hdGNoaW5nT3Jp
Z2luKGNvbnMKIAogdm9pZCBTdG9yYWdlTWFuYWdlcjo6TG9jYWxTdG9yYWdlTmFtZXNwYWNlOjpj
bGVhckFsbFN0b3JhZ2VBcmVhcygpCiB7CisgICAgc3RkOjpsb2NrX2d1YXJkPExvY2s+IGxvY2so
bV9zdG9yYWdlQXJlYU1hcE11dGV4KTsKICAgICBmb3IgKGF1dG8gc3RvcmFnZUFyZWEgOiBtX3N0
b3JhZ2VBcmVhTWFwLnZhbHVlcygpKQogICAgICAgICBzdG9yYWdlQXJlYS0+Y2xlYXIoKTsKIH0K
QEAgLTM5Nyw2ICs0MDksNyBAQCB2b2lkIFN0b3JhZ2VNYW5hZ2VyOjpMb2NhbFN0b3JhZ2VOYW1l
c3BhY2U6OmNsZWFyQWxsU3RvcmFnZUFyZWFzKCkKIFZlY3RvcjxTZWN1cml0eU9yaWdpbkRhdGE+
IFN0b3JhZ2VNYW5hZ2VyOjpMb2NhbFN0b3JhZ2VOYW1lc3BhY2U6OmVwaGVtZXJhbE9yaWdpbnMo
KSBjb25zdAogewogICAgIFZlY3RvcjxTZWN1cml0eU9yaWdpbkRhdGE+IG9yaWdpbnM7CisgICAg
c3RkOjpsb2NrX2d1YXJkPExvY2s+IGxvY2sobV9zdG9yYWdlQXJlYU1hcE11dGV4KTsKICAgICBm
b3IgKGNvbnN0IGF1dG8mIHN0b3JhZ2VBcmVhIDogbV9zdG9yYWdlQXJlYU1hcC52YWx1ZXMoKSkg
ewogICAgICAgICBpZiAoIXN0b3JhZ2VBcmVhLT5pdGVtcygpLmlzRW1wdHkoKSkKICAgICAgICAg
ICAgIG9yaWdpbnMuYXBwZW5kKHN0b3JhZ2VBcmVhLT5zZWN1cml0eU9yaWdpbigpKTsKQEAgLTQw
Niw2ICs0MTksNyBAQCBWZWN0b3I8U2VjdXJpdHlPcmlnaW5EYXRhPiBTdG9yYWdlTWFuYWdlcjo6
TG9jYWxTdG9yYWdlTmFtZXNwYWNlOjplcGhlbWVyYWxPcmlnaQogCiB2b2lkIFN0b3JhZ2VNYW5h
Z2VyOjpMb2NhbFN0b3JhZ2VOYW1lc3BhY2U6OmNsb25lVG8oTG9jYWxTdG9yYWdlTmFtZXNwYWNl
JiBuZXdMb2NhbFN0b3JhZ2VOYW1lc3BhY2UpCiB7CisgICAgc3RkOjpsb2NrX2d1YXJkPExvY2s+
IGxvY2sobV9zdG9yYWdlQXJlYU1hcE11dGV4KTsKICAgICBmb3IgKGF1dG8mIHBhaXIgOiBtX3N0
b3JhZ2VBcmVhTWFwKQogICAgICAgICBuZXdMb2NhbFN0b3JhZ2VOYW1lc3BhY2UubV9zdG9yYWdl
QXJlYU1hcC5hZGQocGFpci5rZXksIHBhaXIudmFsdWUtPmNsb25lKCkpOwogfQpAQCAtNDE1LDcg
KzQyOSw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFNlc3Npb25TdG9yYWdlTmFtZXNwYWNl
PiBjcmVhdGUodW5zaWduZWQgcXVvdGFJbkJ5dGVzKTsKICAgICB+U2Vzc2lvblN0b3JhZ2VOYW1l
c3BhY2UoKTsKIAotICAgIGJvb2wgaXNFbXB0eSgpIGNvbnN0IHsgcmV0dXJuIG1fc3RvcmFnZUFy
ZWFNYXAuaXNFbXB0eSgpOyB9CisgICAgYm9vbCBpc0VtcHR5KCkgY29uc3Q7CiAKICAgICBIYXNo
U2V0PElQQzo6Q29ubmVjdGlvbjo6VW5pcXVlSUQ+IGFsbG93ZWRDb25uZWN0aW9ucygpIGNvbnN0
IHsgcmV0dXJuIG1fYWxsb3dlZENvbm5lY3Rpb25zOyB9CiAgICAgdm9pZCBhZGRBbGxvd2VkQ29u
bmVjdGlvbihJUEM6OkNvbm5lY3Rpb246OlVuaXF1ZUlEKTsKQEAgLTQ1Nyw4ICs0NzEsMTUgQEAg
cHJpdmF0ZToKICAgICB1bnNpZ25lZCBtX3F1b3RhSW5CeXRlczsKIAogICAgIEhhc2hNYXA8U2Vj
dXJpdHlPcmlnaW5EYXRhLCBSZWZQdHI8U3RvcmFnZUFyZWE+PiBtX3N0b3JhZ2VBcmVhTWFwOwor
ICAgIG11dGFibGUgTG9jayBtX3N0b3JhZ2VBcmVhTWFwTXV0ZXg7CiB9OwogCitib29sIFN0b3Jh
Z2VNYW5hZ2VyOjpTZXNzaW9uU3RvcmFnZU5hbWVzcGFjZTo6aXNFbXB0eSgpIGNvbnN0Cit7Cisg
ICAgc3RkOjpsb2NrX2d1YXJkPExvY2s+IGxvY2sobV9zdG9yYWdlQXJlYU1hcE11dGV4KTsKKyAg
ICByZXR1cm4gbV9zdG9yYWdlQXJlYU1hcC5pc0VtcHR5KCk7Cit9CisKIFJlZjxTdG9yYWdlTWFu
YWdlcjo6U2Vzc2lvblN0b3JhZ2VOYW1lc3BhY2U+IFN0b3JhZ2VNYW5hZ2VyOjpTZXNzaW9uU3Rv
cmFnZU5hbWVzcGFjZTo6Y3JlYXRlKHVuc2lnbmVkIHF1b3RhSW5CeXRlcykKIHsKICAgICByZXR1
cm4gYWRvcHRSZWYoKm5ldyBTZXNzaW9uU3RvcmFnZU5hbWVzcGFjZShxdW90YUluQnl0ZXMpKTsK
QEAgLTQ4Niw2ICs1MDcsNyBAQCB2b2lkIFN0b3JhZ2VNYW5hZ2VyOjpTZXNzaW9uU3RvcmFnZU5h
bWVzcGFjZTo6cmVtb3ZlQWxsb3dlZENvbm5lY3Rpb24oSVBDOjpDb25uZQogfQogYXV0byBTdG9y
YWdlTWFuYWdlcjo6U2Vzc2lvblN0b3JhZ2VOYW1lc3BhY2U6OmdldE9yQ3JlYXRlU3RvcmFnZUFy
ZWEoU2VjdXJpdHlPcmlnaW5EYXRhJiYgc2VjdXJpdHlPcmlnaW4pIC0+IFJlZjxTdG9yYWdlQXJl
YT4KIHsKKyAgICBzdGQ6OmxvY2tfZ3VhcmQ8TG9jaz4gbG9jayhtX3N0b3JhZ2VBcmVhTWFwTXV0
ZXgpOwogICAgIHJldHVybiAqbV9zdG9yYWdlQXJlYU1hcC5lbnN1cmUoc2VjdXJpdHlPcmlnaW4s
IFt0aGlzLCAmc2VjdXJpdHlPcmlnaW5dKCkgbXV0YWJsZSB7CiAgICAgICAgIHJldHVybiBTdG9y
YWdlQXJlYTo6Y3JlYXRlKG51bGxwdHIsIFdURk1vdmUoc2VjdXJpdHlPcmlnaW4pLCBtX3F1b3Rh
SW5CeXRlcyk7CiAgICAgfSkuaXRlcmF0b3ItPnZhbHVlLmNvcHlSZWYoKTsKQEAgLTQ5NSw2ICs1
MTcsNyBAQCB2b2lkIFN0b3JhZ2VNYW5hZ2VyOjpTZXNzaW9uU3RvcmFnZU5hbWVzcGFjZTo6Y2xv
bmVUbyhTZXNzaW9uU3RvcmFnZU5hbWVzcGFjZSYgbgogewogICAgIEFTU0VSVF9VTlVTRUQobmV3
U2Vzc2lvblN0b3JhZ2VOYW1lc3BhY2UsIG5ld1Nlc3Npb25TdG9yYWdlTmFtZXNwYWNlLmlzRW1w
dHkoKSk7CiAKKyAgICBzdGQ6OmxvY2tfZ3VhcmQ8TG9jaz4gbG9jayhtX3N0b3JhZ2VBcmVhTWFw
TXV0ZXgpOwogICAgIGZvciAoYXV0byYgcGFpciA6IG1fc3RvcmFnZUFyZWFNYXApCiAgICAgICAg
IG5ld1Nlc3Npb25TdG9yYWdlTmFtZXNwYWNlLm1fc3RvcmFnZUFyZWFNYXAuYWRkKHBhaXIua2V5
LCBwYWlyLnZhbHVlLT5jbG9uZSgpKTsKIH0K
</data>
<flag name="review"
          id="388817"
          type_id="1"
          status="-"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>