<?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>227842</bug_id>
          
          <creation_ts>2021-07-09 08:44:11 -0700</creation_ts>
          <short_desc>Validate keys in ResourceLoadStatisticsDatabaseStore::findNotVeryPrevalentResources() before using them with HashMap</short_desc>
          <delta_ts>2021-07-09 09:56:16 -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>WebKit2</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</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="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>katherine_cheney</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wilander</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1776003</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-07-09 08:44:11 -0700</bug_when>
    <thetext>Validate keys in ResourceLoadStatisticsDatabaseStore::findNotVeryPrevalentResources() before using them with HashMap, to avoid potential memory corruption.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776004</commentid>
    <comment_count>1</comment_count>
      <attachid>433218</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-07-09 08:46:51 -0700</bug_when>
    <thetext>Created attachment 433218
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776013</commentid>
    <comment_count>2</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-07-09 09:55:03 -0700</bug_when>
    <thetext>Committed r279787 (239554@main): &lt;https://commits.webkit.org/239554@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 433218.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1776014</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-07-09 09:56:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/80381595&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>433218</attachid>
            <date>2021-07-09 08:46:51 -0700</date>
            <delta_ts>2021-07-09 09:55:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227842-20210709084650.patch</filename>
            <type>text/plain</type>
            <size>5236</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5Nzg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGRhNzFhYjI2ODgyZWZmODdi
NWE0OTk0ODBiNmM0NTdlZmJjZTFlMWQuLmRjNGJmZjM1MTVhNjllMGJhODkzODU5ZGQyMmE2OTcx
Nzc2MzM3ODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMDctMDkgIENocmlzIER1
bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBWYWxpZGF0ZSBrZXlzIGluIFJlc291
cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlOjpmaW5kTm90VmVyeVByZXZhbGVudFJlc291
cmNlcygpIGJlZm9yZSB1c2luZyB0aGVtIHdpdGggSGFzaE1hcAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI3ODQyCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVmFsaWRhdGUga2V5cyBpbiBSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZTo6ZmluZE5vdFZlcnlQcmV2YWxlbnRSZXNvdXJjZXMo
KSBiZWZvcmUgdXNpbmcgdGhlbSB3aXRoIEhhc2hNYXAsCisgICAgICAgIHRvIGF2b2lkIHBvdGVu
dGlhbCBjcmFzaGVzLiBXZSBkbyBub3Qgc3VwcG9ydCBzdG9yaW5nIChvciBsb29raW5nIHVwKSBh
IGtleSB3aXRoIHZhbHVlIDAgaW4gYSBIYXNoTWFwIHdob3NlIGtleSB0eXBlCisgICAgICAgIGlz
ICd1bnNpZ25lZCcuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291
cmNlTG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6UmVz
b3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmU6OmZpbmROb3RWZXJ5UHJldmFsZW50UmVz
b3VyY2VzKToKKwogMjAyMS0wNy0wOSAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+
CiAKICAgICAgICAgVXNlIG53X3BhcmFtZXRlcnNfYWxsb3dfc2hhcmluZ19wb3J0X3dpdGhfbGlz
dGVuZXIgaWYgYXZhaWxhYmxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL0NsYXNzaWZpZXIvUmVzb3VyY2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmUuY3BwIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9DbGFzc2lmaWVyL1Jlc291cmNlTG9hZFN0YXRp
c3RpY3NEYXRhYmFzZVN0b3JlLmNwcAppbmRleCBiYzAwMWU2ZDg4OTE5YTAyNDI2MDQyZGJmZmYy
ZmUxNDkxNTQ2MzkxLi5mMmIwNjdlYTRkZDA3OWJkZDdmN2FmNzVkOGMyYTBiMzdhZTIxNTJmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL0NsYXNzaWZpZXIvUmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmUuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvQ2xhc3NpZmllci9SZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9y
ZS5jcHAKQEAgLTEzODYsMTAgKzEzODYsMTIgQEAgSGFzaE1hcDx1bnNpZ25lZCwgUmVzb3VyY2VM
b2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmU6Ok5vdFZlcnlQcmV2YWxlbnRSZXNvdXJjZXMKICAg
ICBpZiAobm90VmVyeVByZXZhbGVudFJlc291cmNlc1N0YXRlbWVudCkgewogICAgICAgICB3aGls
ZSAobm90VmVyeVByZXZhbGVudFJlc291cmNlc1N0YXRlbWVudC0+c3RlcCgpID09IFNRTElURV9S
T1cpIHsKICAgICAgICAgICAgIHVuc2lnbmVkIGtleSA9IHN0YXRpY19jYXN0PHVuc2lnbmVkPihu
b3RWZXJ5UHJldmFsZW50UmVzb3VyY2VzU3RhdGVtZW50LT5jb2x1bW5JbnQoMCkpOworICAgICAg
ICAgICAgQVNTRVJUKGtleSk7CisgICAgICAgICAgICBpZiAoIWtleSkKKyAgICAgICAgICAgICAg
ICBjb250aW51ZTsKICAgICAgICAgICAgIE5vdFZlcnlQcmV2YWxlbnRSZXNvdXJjZXMgdmFsdWUo
eyBSZWdpc3RyYWJsZURvbWFpbjo6dW5jaGVja2VkQ3JlYXRlRnJvbVJlZ2lzdHJhYmxlRG9tYWlu
U3RyaW5nKG5vdFZlcnlQcmV2YWxlbnRSZXNvdXJjZXNTdGF0ZW1lbnQtPmNvbHVtblRleHQoMSkp
Ci0gICAgICAgICAgICAgICAgLCBub3RWZXJ5UHJldmFsZW50UmVzb3VyY2VzU3RhdGVtZW50LT5j
b2x1bW5JbnQoMikgPyBSZXNvdXJjZUxvYWRQcmV2YWxlbmNlOjpIaWdoIDogUmVzb3VyY2VMb2Fk
UHJldmFsZW5jZTo6TG93Ci0gICAgICAgICAgICAgICAgLCAwLCAwLCAwLCAwIH0pOwotICAgICAg
ICAgICAgcmVzdWx0cy5hZGQoa2V5LCB2YWx1ZSk7CisgICAgICAgICAgICAgICAgLCBub3RWZXJ5
UHJldmFsZW50UmVzb3VyY2VzU3RhdGVtZW50LT5jb2x1bW5JbnQoMikgPyBSZXNvdXJjZUxvYWRQ
cmV2YWxlbmNlOjpIaWdoIDogUmVzb3VyY2VMb2FkUHJldmFsZW5jZTo6TG93ICwgMCwgMCwgMCwg
MCB9KTsKKyAgICAgICAgICAgIHJlc3VsdHMuYWRkKGtleSwgV1RGTW92ZSh2YWx1ZSkpOwogICAg
ICAgICB9CiAgICAgfQogCkBAIC0xNDAyLDYgKzE0MDQsOSBAQCBIYXNoTWFwPHVuc2lnbmVkLCBS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZTo6Tm90VmVyeVByZXZhbGVudFJlc291
cmNlcwogICAgIGlmIChzdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVEb21haW5zU3RhdGVtZW50KSB7
CiAgICAgICAgIHdoaWxlIChzdWJyZXNvdXJjZVVuZGVyVG9wRnJhbWVEb21haW5zU3RhdGVtZW50
LT5zdGVwKCkgPT0gU1FMSVRFX1JPVykgewogICAgICAgICAgICAgdW5zaWduZWQgZG9tYWluSUQg
PSBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oc3VicmVzb3VyY2VVbmRlclRvcEZyYW1lRG9tYWluc1N0
YXRlbWVudC0+Y29sdW1uSW50KDApKTsKKyAgICAgICAgICAgIEFTU0VSVChkb21haW5JRCk7Cisg
ICAgICAgICAgICBpZiAoIWRvbWFpbklEKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAg
ICAgICAgICAgYXV0byByZXN1bHQgPSByZXN1bHRzLmZpbmQoZG9tYWluSUQpOwogICAgICAgICAg
ICAgaWYgKHJlc3VsdCAhPSByZXN1bHRzLmVuZCgpKQogICAgICAgICAgICAgICAgIHJlc3VsdC0+
dmFsdWUuc3VicmVzb3VyY2VVbmRlclRvcEZyYW1lRG9tYWluc0NvdW50ID0gc3RhdGljX2Nhc3Q8
dW5zaWduZWQ+KHN1YnJlc291cmNlVW5kZXJUb3BGcmFtZURvbWFpbnNTdGF0ZW1lbnQtPmNvbHVt
bkludCgxKSk7CkBAIC0xNDEyLDYgKzE0MTcsOSBAQCBIYXNoTWFwPHVuc2lnbmVkLCBSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzRGF0YWJhc2VTdG9yZTo6Tm90VmVyeVByZXZhbGVudFJlc291cmNlcwog
ICAgIGlmIChzdWJyZXNvdXJjZVVuaXF1ZVJlZGlyZWN0c1RvQ291bnRTdGF0ZW1lbnQpIHsKICAg
ICAgICAgd2hpbGUgKHN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9Db3VudFN0YXRlbWVudC0+
c3RlcCgpID09IFNRTElURV9ST1cpIHsKICAgICAgICAgICAgIHVuc2lnbmVkIGRvbWFpbklEID0g
c3RhdGljX2Nhc3Q8dW5zaWduZWQ+KHN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9Db3VudFN0
YXRlbWVudC0+Y29sdW1uSW50KDApKTsKKyAgICAgICAgICAgIEFTU0VSVChkb21haW5JRCk7Cisg
ICAgICAgICAgICBpZiAoIWRvbWFpbklEKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAg
ICAgICAgICAgYXV0byByZXN1bHQgPSByZXN1bHRzLmZpbmQoZG9tYWluSUQpOwogICAgICAgICAg
ICAgaWYgKHJlc3VsdCAhPSByZXN1bHRzLmVuZCgpKQogICAgICAgICAgICAgICAgIHJlc3VsdC0+
dmFsdWUuc3VicmVzb3VyY2VVbmlxdWVSZWRpcmVjdHNUb0NvdW50ID0gc3RhdGljX2Nhc3Q8dW5z
aWduZWQ+KHN1YnJlc291cmNlVW5pcXVlUmVkaXJlY3RzVG9Db3VudFN0YXRlbWVudC0+Y29sdW1u
SW50KDEpKTsKQEAgLTE0MjIsNiArMTQzMCw5IEBAIEhhc2hNYXA8dW5zaWduZWQsIFJlc291cmNl
TG9hZFN0YXRpc3RpY3NEYXRhYmFzZVN0b3JlOjpOb3RWZXJ5UHJldmFsZW50UmVzb3VyY2VzCiAg
ICAgaWYgKHN1YmZyYW1lVW5kZXJUb3BGcmFtZURvbWFpbnNDb3VudFN0YXRlbWVudCkgewogICAg
ICAgICB3aGlsZSAoc3ViZnJhbWVVbmRlclRvcEZyYW1lRG9tYWluc0NvdW50U3RhdGVtZW50LT5z
dGVwKCkgPT0gU1FMSVRFX1JPVykgewogICAgICAgICAgICAgdW5zaWduZWQgZG9tYWluSUQgPSBz
dGF0aWNfY2FzdDx1bnNpZ25lZD4oc3ViZnJhbWVVbmRlclRvcEZyYW1lRG9tYWluc0NvdW50U3Rh
dGVtZW50LT5jb2x1bW5JbnQoMCkpOworICAgICAgICAgICAgQVNTRVJUKGRvbWFpbklEKTsKKyAg
ICAgICAgICAgIGlmICghZG9tYWluSUQpCisgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAg
ICAgICAgICBhdXRvIHJlc3VsdCA9IHJlc3VsdHMuZmluZChkb21haW5JRCk7CiAgICAgICAgICAg
ICBpZiAocmVzdWx0ICE9IHJlc3VsdHMuZW5kKCkpCiAgICAgICAgICAgICAgICAgcmVzdWx0LT52
YWx1ZS5zdWJmcmFtZVVuZGVyVG9wRnJhbWVEb21haW5zQ291bnQgPSBzdGF0aWNfY2FzdDx1bnNp
Z25lZD4oc3ViZnJhbWVVbmRlclRvcEZyYW1lRG9tYWluc0NvdW50U3RhdGVtZW50LT5jb2x1bW5J
bnQoMSkpOwpAQCAtMTQzMiw2ICsxNDQzLDkgQEAgSGFzaE1hcDx1bnNpZ25lZCwgUmVzb3VyY2VM
b2FkU3RhdGlzdGljc0RhdGFiYXNlU3RvcmU6Ok5vdFZlcnlQcmV2YWxlbnRSZXNvdXJjZXMKICAg
ICBpZiAodG9wRnJhbWVVbmlxdWVSZWRpcmVjdHNUb0NvdW50U3RhdGVtZW50KSB7CiAgICAgICAg
IHdoaWxlICh0b3BGcmFtZVVuaXF1ZVJlZGlyZWN0c1RvQ291bnRTdGF0ZW1lbnQtPnN0ZXAoKSA9
PSBTUUxJVEVfUk9XKSB7CiAgICAgICAgICAgICB1bnNpZ25lZCBkb21haW5JRCA9IHN0YXRpY19j
YXN0PHVuc2lnbmVkPih0b3BGcmFtZVVuaXF1ZVJlZGlyZWN0c1RvQ291bnRTdGF0ZW1lbnQtPmNv
bHVtbkludCgwKSk7CisgICAgICAgICAgICBBU1NFUlQoZG9tYWluSUQpOworICAgICAgICAgICAg
aWYgKCFkb21haW5JRCkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgIGF1
dG8gcmVzdWx0ID0gcmVzdWx0cy5maW5kKGRvbWFpbklEKTsKICAgICAgICAgICAgIGlmIChyZXN1
bHQgIT0gcmVzdWx0cy5lbmQoKSkKICAgICAgICAgICAgICAgICByZXN1bHQtPnZhbHVlLnRvcEZy
YW1lVW5pcXVlUmVkaXJlY3RzVG9Db3VudCA9IHN0YXRpY19jYXN0PHVuc2lnbmVkPih0b3BGcmFt
ZVVuaXF1ZVJlZGlyZWN0c1RvQ291bnRTdGF0ZW1lbnQtPmNvbHVtbkludCgxKSk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>