<?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>197390</bug_id>
          
          <creation_ts>2019-04-29 15:11:27 -0700</creation_ts>
          <short_desc>Add assertion to check whether shm files have maximum FileProtection of CompleteUnlessOpen</short_desc>
          <delta_ts>2021-02-17 11:24:40 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=222054</see_also>
          <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="Sihui Liu">sihui_liu</reporter>
          <assigned_to name="Sihui Liu">sihui_liu</assigned_to>
          <cc>achristensen</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>ggaren</cc>
    
    <cc>koivisto</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1531323</commentid>
    <comment_count>0</comment_count>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2019-04-29 15:11:27 -0700</bug_when>
    <thetext>We have seen crashes where process gets killed because it tries accessing shm file after device is locked. We are suspecting this is because database protection class of shm file is set to be Complete by apps after it&apos;s created with lower protection level.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1531324</commentid>
    <comment_count>1</comment_count>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2019-04-29 15:15:08 -0700</bug_when>
    <thetext>&lt;rdar://problem/42685773&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1531339</commentid>
    <comment_count>2</comment_count>
      <attachid>368502</attachid>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2019-04-29 15:29:23 -0700</bug_when>
    <thetext>Created attachment 368502
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1531358</commentid>
    <comment_count>3</comment_count>
      <attachid>368502</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2019-04-29 16:16:51 -0700</bug_when>
    <thetext>Comment on attachment 368502
Patch

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

&gt; Source/WebCore/platform/sql/SQLiteDatabase.cpp:154
&gt; +        RELEASE_ASSERT(FileSystem::isSafeToUseMemoryMapForPath(shmFileName));

Why not just call makeSafeToUseMemoryMapForPath?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1531392</commentid>
    <comment_count>4</comment_count>
    <who name="Sihui Liu">sihui_liu</who>
    <bug_when>2019-04-29 17:48:55 -0700</bug_when>
    <thetext>(In reply to Alex Christensen from comment #3)
&gt; Comment on attachment 368502 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=368502&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/sql/SQLiteDatabase.cpp:154
&gt; &gt; +        RELEASE_ASSERT(FileSystem::isSafeToUseMemoryMapForPath(shmFileName));
&gt; 
&gt; Why not just call makeSafeToUseMemoryMapForPath?

If the crash is caused by the shm file being unsafe for mmap, we probably need change in sqlite instead of WebKit to ensure shm file is in correct protection class when the file is being used.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1532410</commentid>
    <comment_count>5</comment_count>
      <attachid>368502</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2019-05-02 13:23:43 -0700</bug_when>
    <thetext>Comment on attachment 368502
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1532967</commentid>
    <comment_count>6</comment_count>
      <attachid>368502</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-05-03 14:24:11 -0700</bug_when>
    <thetext>Comment on attachment 368502
Patch

Clearing flags on attachment: 368502

Committed r244921: &lt;https://trac.webkit.org/changeset/244921&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1532968</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-05-03 14:24:13 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>368502</attachid>
            <date>2019-04-29 15:29:23 -0700</date>
            <delta_ts>2019-05-03 14:24:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-197390-20190429152922.patch</filename>
            <type>text/plain</type>
            <size>13493</size>
            <attacher name="Sihui Liu">sihui_liu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ0NzM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDQ3NWNkZDI4Yjc0Y2Y2YzE5MjUxODUx
ZTc1ZGU5YzI3OWFlYmQxMTYuLmJjMmFjNjZjMzVjOGU4NDE3MWE3MGY2YzE5M2Y3NzE3YzA2OTU3
NmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTktMDQtMjkgIFNpaHVpIExpdSAgPHNpaHVpX2xp
dUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIGFzc2VydGlvbiB0byBjaGVjayB3aGV0aGVyIHNo
bSBmaWxlcyBoYXZlIG1heGltdW0gRmlsZVByb3RlY3Rpb24gb2YgQ29tcGxldGVVbmxlc3NPcGVu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTczOTAK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQyNjg1NzczPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd3RmL0ZpbGVTeXN0ZW0uY3BwOgorICAgICAg
ICAoV1RGOjpGaWxlU3lzdGVtSW1wbDo6aXNTYWZlVG9Vc2VNZW1vcnlNYXBGb3JQYXRoKToKKyAg
ICAgICAgKFdURjo6RmlsZVN5c3RlbUltcGw6Om1ha2VTYWZlVG9Vc2VNZW1vcnlNYXBGb3JQYXRo
KToKKyAgICAgICAgKiB3dGYvRmlsZVN5c3RlbS5oOgorICAgICAgICAqIHd0Zi9jb2NvYS9GaWxl
U3lzdGVtQ29jb2EubW06CisgICAgICAgIChXVEY6OkZpbGVTeXN0ZW1JbXBsOjppc1NhZmVUb1Vz
ZU1lbW9yeU1hcEZvclBhdGgpOgorICAgICAgICAoV1RGOjpGaWxlU3lzdGVtSW1wbDo6bWFrZVNh
ZmVUb1VzZU1lbW9yeU1hcEZvclBhdGgpOgorCiAyMDE5LTA0LTI2ICBEb24gT2xtc3RlYWQgIDxk
b24ub2xtc3RlYWRAc29ueS5jb20+CiAKICAgICAgICAgQWRkIFdURjo6ZmluZElnbm9yaW5nQVND
SUlDYXNlV2l0aG91dExlbmd0aCB0byByZXBsYWNlIHN0cmNhc2VzdHIKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBk
M2M5NDU5MDYwMjU5NWM0MjUyN2Q5OWY4Y2FhZDJkNzRhOTMzNzQ5Li43ODY5MzY0YWI2OWE4MWFj
YmMwMTYzODMwMDQ1NjMxNDhkYjQxYjExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIw
MTktMDQtMjkgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBsZS5jb20+CisKKyAgICAgICAgQWRk
IGFzc2VydGlvbiB0byBjaGVjayB3aGV0aGVyIHNobSBmaWxlcyBoYXZlIG1heGltdW0gRmlsZVBy
b3RlY3Rpb24gb2YgQ29tcGxldGVVbmxlc3NPcGVuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTczOTAKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzQy
Njg1NzczPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFdlIGhhdmUgc2VlbiBjcmFzaGVzIGFib3V0IGFjY2Vzc2luZyBkYXRhYmFzZSBmaWxlcyBhZnRl
ciBkZXZpY2UgaXMgbG9ja2VkLiBXZSBhcmUgc3VzcGVjdGluZyB0aGlzIGlzIGJlY2F1c2UgCisg
ICAgICAgIHNobSBmaWxlcyBoYXZlIHdyb25nIGRhdGEgcHJvdGVjdGlvbiBjbGFzcywgYnV0IHNo
bSBmaWxlcyBzaG91bGQgbm90IGhhdmUgQ29tcGxldGUgY2xhc3MgcHJvdGVjdGlvbiB3aGVuIGl0
IAorICAgICAgICBpcyBjcmVhdGVkLiBJdCBpcyBsaWtlbHkgdGhlIHByb3RlY3Rpb24gY2xhc3Mg
aXMgY2hhbmdlZCBsYXRlci4gQWRkIGFuIGFzc2VydGlvbiB0byB2ZXJpZnkgb3VyIGd1ZXNzLiBJ
ZiB0aGUgCisgICAgICAgIGNyYXNoIHNpZ25hdHVyZSBjaGFuZ2VzIGFmdGVyIHRoaXMgcGF0Y2gs
IHdlIHByb2JhYmx5IG5lZWQgdG8gY2hhbmdlIGRhdGFiYXNlIGltcGxlbWVudGF0aW9uLiBJZiBp
dCBpcyBub3QsIHdlCisgICAgICAgIGhhdmUgb3RoZXIgcHJvYmxlbSB0aGFuIGRhdGEgcHJvdGVj
dGlvbi4KKworICAgICAgICAqIHBsYXRmb3JtL3NxbC9TUUxpdGVEYXRhYmFzZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTUUxpdGVEYXRhYmFzZTo6b3Blbik6CisKIDIwMTktMDQtMjUgIENhcmxv
cyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJFR1JFU1NJ
T04ocjI0NDYzNSk6IFtHVEtdIFdyb25nIGJhY2tncm91bmQgY29sb3IgdXNlZCBpbiBub24tZGFy
ayBtb2RlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCmluZGV4IDAwYjU3MDYwNmMzOTk3ZTUwZDE3ZTczZTU5NzJjYTRiYjI0Yjkw
MmUuLmNjYTRkYTRhMDdkNDQzYWY5OTU0MTBjNDU3ZTE5Mzg1NDlhZGFjM2UgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjQgQEAKKzIwMTktMDQtMjkgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBsZS5j
b20+CisKKyAgICAgICAgQWRkIGFzc2VydGlvbiB0byBjaGVjayB3aGV0aGVyIHNobSBmaWxlcyBo
YXZlIG1heGltdW0gRmlsZVByb3RlY3Rpb24gb2YgQ29tcGxldGVVbmxlc3NPcGVuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTczOTAKKyAgICAgICAg
PHJkYXI6Ly9wcm9ibGVtLzQyNjg1NzczPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIE1vdmUgZGF0YSBwcm90ZWN0aW9uIGNoZWNrIHRvIFdlYkNvcmUg
c28gaXQgY2FuIGJlIGFwcGxpZWQgdG8gZGF0YWJhc2UgZmlsZXMuCisKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVCbG9iU3RvcmFnZS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6QmxvYlN0b3JhZ2U6OmFkZCk6CisgICAgICAgICogTmV0d29y
a1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlRmlsZVN5c3RlbS5jcHA6CisgICAgICAgIChXZWJL
aXQ6Ok5ldHdvcmtDYWNoZTo6bWFrZVNhZmVUb1VzZU1lbW9yeU1hcEZvclBhdGgpOiBEZWxldGVk
LgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdvcmtDYWNoZUZpbGVTeXN0ZW0u
aDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVGaWxlU3lzdGVt
Q29jb2EubW06IFJlbW92ZWQuCisgICAgICAgICogU291cmNlc0NvY29hLnR4dDoKKyAgICAgICAg
KiBVSVByb2Nlc3MvQVBJL0FQSUNvbnRlbnRSdWxlTGlzdFN0b3JlLmNwcDoKKyAgICAgICAgKEFQ
STo6b3BlbkFuZE1hcE9yQ29weUNvbnRlbnRSdWxlTGlzdCk6CisgICAgICAgIChBUEk6OmNvbXBp
bGVkVG9GaWxlKToKKwogMjAxOS0wNC0yOSAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNl
bkB3ZWJraXQub3JnPgogCiAgICAgICAgIEJ1aWxkIGZpeC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
VEYvd3RmL0ZpbGVTeXN0ZW0uY3BwIGIvU291cmNlL1dURi93dGYvRmlsZVN5c3RlbS5jcHAKaW5k
ZXggMDZkZWM3ZDI5Mzc2N2JhNTQyODQxNzk5YTlmYmJmYTFjNDNmNWI2Ny4uYmE0OWIxZTc3YTdh
NDE3NDlhYjQwMjM1MzA0ZTlmNWJmNGRhZmZhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYv
RmlsZVN5c3RlbS5jcHAKKysrIGIvU291cmNlL1dURi93dGYvRmlsZVN5c3RlbS5jcHAKQEAgLTM2
Myw1ICszNjMsMTYgQEAgYm9vbCBmaWxlSXNEaXJlY3RvcnkoY29uc3QgU3RyaW5nJiBwYXRoLCBT
aG91bGRGb2xsb3dTeW1ib2xpY0xpbmtzIHNob3VsZEZvbGxvd1MKICAgICByZXR1cm4gbWV0YWRh
dGEudmFsdWUoKS50eXBlID09IEZpbGVNZXRhZGF0YTo6VHlwZTo6RGlyZWN0b3J5OwogfQogCisj
aWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCitib29sIGlzU2FmZVRvVXNlTWVtb3J5TWFwRm9yUGF0
aChjb25zdCBTdHJpbmcmKQoreworICAgIHJldHVybiB0cnVlOworfQorCit2b2lkIG1ha2VTYWZl
VG9Vc2VNZW1vcnlNYXBGb3JQYXRoKGNvbnN0IFN0cmluZyYpCit7Cit9CisjZW5kaWYKKwogfSAv
LyBuYW1lc3BhY2UgRmlsZVN5c3RlbUltcGwKIH0gLy8gbmFtZXNwYWNlIFdURgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dURi93dGYvRmlsZVN5c3RlbS5oIGIvU291cmNlL1dURi93dGYvRmlsZVN5c3Rl
bS5oCmluZGV4IDkwMzk2MmFkNDZkMjdiYjc4MzIyMmQzOTFjMDFiYzg3MWQzZjExM2UuLjBhYzg5
NjFmZDg0YjZmNzc3MjUwZGFhZjhiNmFkNGJhN2YwNjRjYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
VEYvd3RmL0ZpbGVTeXN0ZW0uaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9GaWxlU3lzdGVtLmgKQEAg
LTE4Nyw2ICsxODcsOSBAQCBXVEZfRVhQT1JUX1BSSVZBVEUgYm9vbCBkZWxldGVOb25FbXB0eURp
cmVjdG9yeShjb25zdCBTdHJpbmcmKTsKIAogV1RGX0VYUE9SVF9QUklWQVRFIFN0cmluZyByZWFs
UGF0aChjb25zdCBTdHJpbmcmKTsKIAorV1RGX0VYUE9SVF9QUklWQVRFIGJvb2wgaXNTYWZlVG9V
c2VNZW1vcnlNYXBGb3JQYXRoKGNvbnN0IFN0cmluZyYpOworV1RGX0VYUE9SVF9QUklWQVRFIHZv
aWQgbWFrZVNhZmVUb1VzZU1lbW9yeU1hcEZvclBhdGgoY29uc3QgU3RyaW5nJik7CisKIGNsYXNz
IE1hcHBlZEZpbGVEYXRhIHsKIHB1YmxpYzoKICAgICBNYXBwZWRGaWxlRGF0YSgpIHsgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dURi93dGYvY29jb2EvRmlsZVN5c3RlbUNvY29hLm1tIGIvU291cmNl
L1dURi93dGYvY29jb2EvRmlsZVN5c3RlbUNvY29hLm1tCmluZGV4IGUxMjIyMDA2OTJiOTlhNDFk
OGVjZTliNmU2YzJlOGYxMTIwNThjNjUuLjI1N2JjYTU4N2U1NWJkZWY0YTgwMjBmOGY1NzY2NjQy
YTIxNjFiYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL2NvY29hL0ZpbGVTeXN0ZW1Db2Nv
YS5tbQorKysgYi9Tb3VyY2UvV1RGL3d0Zi9jb2NvYS9GaWxlU3lzdGVtQ29jb2EubW0KQEAgLTEz
OSw1ICsxMzksMzMgQEAgYm9vbCBkZWxldGVOb25FbXB0eURpcmVjdG9yeShjb25zdCBTdHJpbmcm
IHBhdGgpCiAgICAgcmV0dXJuIFtbTlNGaWxlTWFuYWdlciBkZWZhdWx0TWFuYWdlcl0gcmVtb3Zl
SXRlbUF0UGF0aDpwYXRoIGVycm9yOm5pbF07CiB9CiAKKyNpZiBQTEFURk9STShJT1NfRkFNSUxZ
KQorYm9vbCBpc1NhZmVUb1VzZU1lbW9yeU1hcEZvclBhdGgoY29uc3QgU3RyaW5nJiBwYXRoKQor
eworICAgIE5TRXJyb3IgKmVycm9yID0gbmlsOworICAgIE5TRGljdGlvbmFyeTxOU0ZpbGVBdHRy
aWJ1dGVLZXksIGlkPiAqYXR0cmlidXRlcyA9IFtbTlNGaWxlTWFuYWdlciBkZWZhdWx0TWFuYWdl
cl0gYXR0cmlidXRlc09mSXRlbUF0UGF0aDpwYXRoIGVycm9yOiZlcnJvcl07CisgICAgaWYgKGVy
cm9yKSB7CisgICAgICAgIExPR19FUlJPUigiVW5hYmxlIHRvIGdldCBwYXRoIHByb3RlY3Rpb24g
Y2xhc3MiKTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKyAgICBpZiAoW1thdHRyaWJ1
dGVzIG9iamVjdEZvcktleTpOU0ZpbGVQcm90ZWN0aW9uS2V5XSBpc0VxdWFsVG9TdHJpbmc6TlNG
aWxlUHJvdGVjdGlvbkNvbXBsZXRlXSkgeworICAgICAgICBMT0dfRVJST1IoIlBhdGggcHJvdGVj
dGlvbiBjbGFzcyBpcyBOU0ZpbGVQcm90ZWN0aW9uQ29tcGxldGUsIHNvIGl0IGlzIG5vdCBzYWZl
IHRvIHVzZSBtZW1vcnkgbWFwIik7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisgICAg
cmV0dXJuIHRydWU7Cit9CisKK3ZvaWQgbWFrZVNhZmVUb1VzZU1lbW9yeU1hcEZvclBhdGgoY29u
c3QgU3RyaW5nJiBwYXRoKQoreworICAgIGlmIChpc1NhZmVUb1VzZU1lbW9yeU1hcEZvclBhdGgo
cGF0aCkpCisgICAgICAgIHJldHVybjsKKyAgICAKKyAgICBOU0Vycm9yICplcnJvciA9IG5pbDsK
KyAgICBCT09MIHN1Y2Nlc3MgPSBbW05TRmlsZU1hbmFnZXIgZGVmYXVsdE1hbmFnZXJdIHNldEF0
dHJpYnV0ZXM6QHsgTlNGaWxlUHJvdGVjdGlvbktleTogTlNGaWxlUHJvdGVjdGlvbkNvbXBsZXRl
VW5sZXNzT3BlbiB9IG9mSXRlbUF0UGF0aDpwYXRoIGVycm9yOiZlcnJvcl07CisgICAgQVNTRVJU
KCFlcnJvcik7CisgICAgQVNTRVJUX1VOVVNFRChzdWNjZXNzLCBzdWNjZXNzKTsKK30KKyNlbmRp
ZgorCiB9IC8vIG5hbWVzcGFjZSBGaWxlU3lzdGVtSW1wbAogfSAvLyBuYW1lc3BhY2UgV1RGCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcWwvU1FMaXRlRGF0YWJhc2UuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3FsL1NRTGl0ZURhdGFiYXNlLmNwcAppbmRleCAz
ZmY1N2VkMjAxNGRkYjExZmUxNzhhYmU0NjJhNDZmYjhjMWNhNzE0Li41Nzk2NDZhYTNhYzUyZTVi
MTc4MDkzYjYwODEzODkyMjdlOTUwZWRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9zcWwvU1FMaXRlRGF0YWJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3NxbC9TUUxpdGVEYXRhYmFzZS5jcHAKQEAgLTE0OSw2ICsxNDksMTAgQEAgYm9vbCBTUUxpdGVE
YXRhYmFzZTo6b3Blbihjb25zdCBTdHJpbmcmIGZpbGVuYW1lLCBPcGVuTW9kZSBvcGVuTW9kZSkK
ICAgICBpZiAob3Blbk1vZGUgIT0gT3Blbk1vZGU6OlJlYWRPbmx5KQogICAgICAgICB1c2VXQUxK
b3VybmFsTW9kZSgpOwogCisgICAgU3RyaW5nIHNobUZpbGVOYW1lID0gbWFrZVN0cmluZyhmaWxl
bmFtZSwgIi1zaG0iX3MpOworICAgIGlmIChGaWxlU3lzdGVtOjpmaWxlRXhpc3RzKHNobUZpbGVO
YW1lKSkKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoRmlsZVN5c3RlbTo6aXNTYWZlVG9Vc2VNZW1v
cnlNYXBGb3JQYXRoKHNobUZpbGVOYW1lKSk7CisKICAgICByZXR1cm4gaXNPcGVuKCk7CiB9CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0Nh
Y2hlQmxvYlN0b3JhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9O
ZXR3b3JrQ2FjaGVCbG9iU3RvcmFnZS5jcHAKaW5kZXggYmY5ZmYyM2RhYWFjMDgzYThlYjdjYWFj
ZTdlODQxYTM4NjM1ZGM2Mi4uMmQ0ZDMzYjk0MGQ2NTRkOWU2MGU4MGQ5ZjRmM2E1ZmFkNzU3MTRk
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3Jr
Q2FjaGVCbG9iU3RvcmFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9j
YWNoZS9OZXR3b3JrQ2FjaGVCbG9iU3RvcmFnZS5jcHAKQEAgLTk0LDcgKzk0LDcgQEAgQmxvYlN0
b3JhZ2U6OkJsb2IgQmxvYlN0b3JhZ2U6OmFkZChjb25zdCBTdHJpbmcmIHBhdGgsIGNvbnN0IERh
dGEmIGRhdGEpCiAgICAgICAgIHJldHVybiB7IGRhdGEsIGhhc2ggfTsKIAogICAgIFN0cmluZyBi
bG9iUGF0aFN0cmluZyA9IGJsb2JQYXRoRm9ySGFzaChoYXNoKTsKLSAgICBtYWtlU2FmZVRvVXNl
TWVtb3J5TWFwRm9yUGF0aChibG9iUGF0aFN0cmluZyk7CisgICAgRmlsZVN5c3RlbTo6bWFrZVNh
ZmVUb1VzZU1lbW9yeU1hcEZvclBhdGgoYmxvYlBhdGhTdHJpbmcpOwogICAgIAogICAgIGF1dG8g
YmxvYlBhdGggPSBGaWxlU3lzdGVtOjpmaWxlU3lzdGVtUmVwcmVzZW50YXRpb24oYmxvYlBhdGhT
dHJpbmcpOwogICAgIGF1dG8gbGlua1BhdGggPSBGaWxlU3lzdGVtOjpmaWxlU3lzdGVtUmVwcmVz
ZW50YXRpb24ocGF0aCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L2NhY2hlL05ldHdvcmtDYWNoZUZpbGVTeXN0ZW0uY3BwIGIvU291cmNlL1dlYktpdC9OZXR3b3Jr
UHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVGaWxlU3lzdGVtLmNwcAppbmRleCAxY2Q2N2FjNjcw
ODQ0ZTNhYjA3MmZhMzg2MDNhOWY4ODFhZDQ3YzgxLi43NWEyNjY1NGVjMDZhZmE1MmJkYjEyYWIy
NjMyMGM3ZTYzYjI1NjFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L2NhY2hlL05ldHdvcmtDYWNoZUZpbGVTeXN0ZW0uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlRmlsZVN5c3RlbS5jcHAKQEAgLTE0NSwxMSAr
MTQ1LDUgQEAgdm9pZCB1cGRhdGVGaWxlTW9kaWZpY2F0aW9uVGltZUlmTmVlZGVkKGNvbnN0IFN0
cmluZyYgcGF0aCkKICNlbmRpZgogfQogCi0jaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCi12b2lk
IG1ha2VTYWZlVG9Vc2VNZW1vcnlNYXBGb3JQYXRoKGNvbnN0IFN0cmluZyYpCi17Ci19Ci0jZW5k
aWYKLQogfQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9jYWNo
ZS9OZXR3b3JrQ2FjaGVGaWxlU3lzdGVtLmggYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L2NhY2hlL05ldHdvcmtDYWNoZUZpbGVTeXN0ZW0uaAppbmRleCA0NDcwOTIzZjdlZDQ3ZGNkMDUx
ZTE5NjA1MjdlNDcyODA1OTI1NDcwLi43YTVmOGNjNGZlMzhhOTU2MWNlMWM4YjYxYzEwYzc0Nzlj
YTg3NDJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05l
dHdvcmtDYWNoZUZpbGVTeXN0ZW0uaAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNz
L2NhY2hlL05ldHdvcmtDYWNoZUZpbGVTeXN0ZW0uaApAQCAtNDIsNyArNDIsNSBAQCBzdHJ1Y3Qg
RmlsZVRpbWVzIHsKIEZpbGVUaW1lcyBmaWxlVGltZXMoY29uc3QgU3RyaW5nJiBwYXRoKTsKIHZv
aWQgdXBkYXRlRmlsZU1vZGlmaWNhdGlvblRpbWVJZk5lZWRlZChjb25zdCBTdHJpbmcmIHBhdGgp
OwogCi12b2lkIG1ha2VTYWZlVG9Vc2VNZW1vcnlNYXBGb3JQYXRoKGNvbnN0IFN0cmluZyYpOwot
CiB9CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL2NhY2hlL05l
dHdvcmtDYWNoZUZpbGVTeXN0ZW1Db2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvY2FjaGUvTmV0d29ya0NhY2hlRmlsZVN5c3RlbUNvY29hLm1tCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA4MTIxOTZkOWY1MjI4ZTQyZWQwZGUxOGU3MGE5NWQxZmUxNTI0OWUzLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJL
aXQvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlRmlsZVN5c3RlbUNvY29hLm1tCisr
KyAvZGV2L251bGwKQEAgLTEsNjQgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxOSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
LSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgot
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25m
aWcuaCIKLSNpbmNsdWRlICJOZXR3b3JrQ2FjaGVGaWxlU3lzdGVtLmgiCi0KLSNpbmNsdWRlICJM
b2dnaW5nLmgiCi0jaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KLQotbmFtZXNwYWNlIFdlYktp
dCB7Ci1uYW1lc3BhY2UgTmV0d29ya0NhY2hlIHsKLQotI2lmIFBMQVRGT1JNKElPU19GQU1JTFkp
Ci1zdGF0aWMgYm9vbCBpc1NhZmVUb1VzZU1lbW9yeU1hcEZvclBhdGgoY29uc3QgU3RyaW5nJiBw
YXRoKQotewotICAgIE5TRXJyb3IgKmVycm9yID0gbmlsOwotICAgIE5TRGljdGlvbmFyeTxOU0Zp
bGVBdHRyaWJ1dGVLZXksIGlkPiAqYXR0cmlidXRlcyA9IFtbTlNGaWxlTWFuYWdlciBkZWZhdWx0
TWFuYWdlcl0gYXR0cmlidXRlc09mSXRlbUF0UGF0aDpwYXRoIGVycm9yOiZlcnJvcl07Ci0gICAg
aWYgKGVycm9yKSB7Ci0gICAgICAgIFJFTEVBU0VfTE9HX0VSUk9SKE5ldHdvcmssICJVbmFibGUg
dG8gZ2V0IGNhY2hlIGRpcmVjdG9yeSBwcm90ZWN0aW9uIGNsYXNzLCBkaXNhYmxpbmcgdXNlIG9m
IHNoYXJlZCBtYXBwZWQgbWVtb3J5Iik7Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0g
ICAgaWYgKFtbYXR0cmlidXRlcyBvYmplY3RGb3JLZXk6TlNGaWxlUHJvdGVjdGlvbktleV0gaXNF
cXVhbFRvU3RyaW5nOk5TRmlsZVByb3RlY3Rpb25Db21wbGV0ZV0pIHsKLSAgICAgICAgUkVMRUFT
RV9MT0coTmV0d29yaywgIkRpc2FsbG93aW5nIHVzZSBvZiBzaGFyZWQgbWFwcGVkIG1lbW9yeSBk
dWUgdG8gY29udGFpbmVyIHByb3RlY3Rpb24gY2xhc3MgTlNGaWxlUHJvdGVjdGlvbkNvbXBsZXRl
Iik7Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0gICAgcmV0dXJuIHRydWU7Ci19Ci0K
LXZvaWQgbWFrZVNhZmVUb1VzZU1lbW9yeU1hcEZvclBhdGgoY29uc3QgU3RyaW5nJiBwYXRoKQot
ewotICAgIGlmIChpc1NhZmVUb1VzZU1lbW9yeU1hcEZvclBhdGgocGF0aCkpCi0gICAgICAgIHJl
dHVybjsKLQotICAgIE5TRXJyb3IgKmVycm9yID0gbmlsOwotICAgIEJPT0wgc3VjY2VzcyA9IFtb
TlNGaWxlTWFuYWdlciBkZWZhdWx0TWFuYWdlcl0gc2V0QXR0cmlidXRlczpAeyBOU0ZpbGVQcm90
ZWN0aW9uS2V5OiBOU0ZpbGVQcm90ZWN0aW9uQ29tcGxldGVVbmxlc3NPcGVuIH0gb2ZJdGVtQXRQ
YXRoOnBhdGggZXJyb3I6JmVycm9yXTsKLSAgICBBU1NFUlQoIWVycm9yKTsKLSAgICBBU1NFUlRf
VU5VU0VEKHN1Y2Nlc3MsIHN1Y2Nlc3MpOwotfQotI2VuZGlmIC8vIFBMQVRGT1JNKElPU19GQU1J
TFkpCi0KLX0KLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dCBi
L1NvdXJjZS9XZWJLaXQvU291cmNlc0NvY29hLnR4dAppbmRleCBiNDA0ZTNhYmViNDEzNjY4MTQ2
OGZhZTgxNGMxYjQyMDhlZTE2MmRmLi5mZDM4ZGEzMzFiMjRlMGY1N2IxMTk4OTJiNDU1MTczYjI2
ZDRkNWEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NvdXJjZXNDb2NvYS50eHQKKysrIGIv
U291cmNlL1dlYktpdC9Tb3VyY2VzQ29jb2EudHh0CkBAIC0yMiw3ICsyMiw2IEBACiAvLyBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKIE5ldHdvcmtQcm9jZXNzL2NhY2hlL05ldHdv
cmtDYWNoZURhdGFDb2NvYS5tbQotTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlRmls
ZVN5c3RlbUNvY29hLm1tCiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2FjaGVJT0NoYW5u
ZWxDb2NvYS5tbQogCiBOZXR3b3JrUHJvY2Vzcy9jb2NvYS9OZXR3b3JrQWN0aXZpdHlUcmFja2Vy
Q29jb2EubW0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElDb250
ZW50UnVsZUxpc3RTdG9yZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJQ29u
dGVudFJ1bGVMaXN0U3RvcmUuY3BwCmluZGV4IDgyNDlhYTEzYjc0ZjhiODc2YTI2ZmMxYWNkMTM4
NzI4NzQ1ZGU4ODAuLjAzMDY1N2MwZmFlMDljNjEyZjMyNzRhZDhjNjYxZjI3MTc1YmQ4OTUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9BUElDb250ZW50UnVsZUxpc3RT
dG9yZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSUNvbnRlbnRSdWxl
TGlzdFN0b3JlLmNwcApAQCAtMjA4LDcgKzIwOCw3IEBAIHN0cnVjdCBNYXBwZWREYXRhIHsKIAog
c3RhdGljIE9wdGlvbmFsPE1hcHBlZERhdGE+IG9wZW5BbmRNYXBPckNvcHlDb250ZW50UnVsZUxp
c3QoY29uc3QgV1RGOjpTdHJpbmcmIHBhdGgpCiB7Ci0gICAgV2ViS2l0OjpOZXR3b3JrQ2FjaGU6
Om1ha2VTYWZlVG9Vc2VNZW1vcnlNYXBGb3JQYXRoKHBhdGgpOworICAgIEZpbGVTeXN0ZW06Om1h
a2VTYWZlVG9Vc2VNZW1vcnlNYXBGb3JQYXRoKHBhdGgpOwogICAgIFdlYktpdDo6TmV0d29ya0Nh
Y2hlOjpEYXRhIGZpbGVEYXRhID0gbWFwRmlsZShmaWxlU3lzdGVtUmVwcmVzZW50YXRpb24ocGF0
aCkuZGF0YSgpKTsKICAgICBpZiAoZmlsZURhdGEuaXNOdWxsKCkpCiAgICAgICAgIHJldHVybiBX
VEY6Om51bGxvcHQ7CkBAIC0zODYsNyArMzg2LDcgQEAgc3RhdGljIEV4cGVjdGVkPE1hcHBlZERh
dGEsIHN0ZDo6ZXJyb3JfY29kZT4gY29tcGlsZWRUb0ZpbGUoV1RGOjpTdHJpbmcmJiBqc29uLAog
ICAgICAgICByZXR1cm4gbWFrZVVuZXhwZWN0ZWQoQ29udGVudFJ1bGVMaXN0U3RvcmU6OkVycm9y
OjpDb21waWxlRmFpbGVkKTsKICAgICB9CiAgICAgCi0gICAgbWFrZVNhZmVUb1VzZU1lbW9yeU1h
cEZvclBhdGgoZmluYWxGaWxlUGF0aCk7CisgICAgRmlsZVN5c3RlbTo6bWFrZVNhZmVUb1VzZU1l
bW9yeU1hcEZvclBhdGgoZmluYWxGaWxlUGF0aCk7CiAgICAgCiAgICAgcmV0dXJuIHt7IFdURk1v
dmUobWV0YURhdGEpLCBXVEZNb3ZlKG1hcHBlZERhdGEpIH19OwogfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>