<?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>209121</bug_id>
          
          <creation_ts>2020-03-15 04:27:44 -0700</creation_ts>
          <short_desc>[JSC] Rename ArrayBuffer::slice to ArrayBuffer::trySlice and insert appropriate checks</short_desc>
          <delta_ts>2020-03-15 12:21:08 -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>NEW</bug_status>
          <resolution></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="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>philipj</cc>
    
    <cc>saam</cc>
    
    <cc>sergio</cc>
    
    <cc>tzagallo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1630166</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-03-15 04:27:44 -0700</bug_when>
    <thetext>[JSC] Rename ArrayBuffer::slice to ArrayBuffer::trySlice and insert appropriate checks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1630167</commentid>
    <comment_count>1</comment_count>
      <attachid>393614</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-03-15 04:28:50 -0700</bug_when>
    <thetext>Created attachment 393614
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1630198</commentid>
    <comment_count>2</comment_count>
      <attachid>393614</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2020-03-15 12:21:08 -0700</bug_when>
    <thetext>Comment on attachment 393614
Patch

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

r=me with fix.

&gt; Source/WebCore/bindings/js/StructuredClone.cpp:62
&gt; +            return JSValue::encode(JSC::throwOutOfMemoryError(globalObject, scope));

/globalObject/lexicalGlobalObject/

&gt; Source/WebCore/bindings/js/StructuredClone.cpp:63
&gt; +        return JSValue::encode(JSArrayBuffer::create(lexicalGlobalObject-&gt;vm(), lexicalGlobalObject-&gt;arrayBufferStructure(ArrayBufferSharingMode::Default), WTFMove(slicedBuffer)));

Not due to your change, but can you jut use vm here instead of lexicalGlobalObject-&gt;vm()?  We&apos;ve already pre-computed it above.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>393614</attachid>
            <date>2020-03-15 04:28:50 -0700</date>
            <delta_ts>2020-03-15 12:21:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-209121-20200315042850.patch</filename>
            <type>text/plain</type>
            <size>13631</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU4NDc5CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
MTFhMjkzOTM3ZmJiMTgyNDBiZjAzMmVkNjE4NTRkYzYxZGQwNTJjLi5iNzI1ZWJhZTk2NjY0NmZl
M2UyZjYxNTk1NzdlZDI0YzNlM2E2OTY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMCBAQAorMjAyMC0wMy0xNSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIFJlbmFtZSBBcnJheUJ1ZmZlcjo6c2xpY2UgdG8gQXJyYXlCdWZm
ZXI6OnRyeVNsaWNlIGFuZCBpbnNlcnQgYXBwcm9wcmlhdGUgY2hlY2tzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDkxMjEKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTaW5jZSBBcnJheUJ1ZmZlcjo6c2xp
Y2UgY2FuIGZhaWwgbm93IGFmdGVyIHIyNTEzOTIsIHdlIHNob3VsZCByZW5hbWUgaXQgZnJvbSBz
bGljZSB0byB0cnlTbGljZSB0byBtYWtlIGl0IGV4cGxpY2l0LgorICAgICAgICBBbmQgd2Ugc2hv
dWxkIGluc2VydCBhcHByb3ByaWF0ZSBjaGVja3MgaW4gV2ViQ29yZSBzaWRlLgorCisgICAgICAg
ICogcnVudGltZS9BcnJheUJ1ZmZlci5jcHA6CisgICAgICAgIChKU0M6OkFycmF5QnVmZmVyOjp0
cnlTbGljZSBjb25zdCk6CisgICAgICAgIChKU0M6OkFycmF5QnVmZmVyOjpzbGljZSBjb25zdCk6
IERlbGV0ZWQuCisgICAgICAgICogcnVudGltZS9BcnJheUJ1ZmZlci5oOgorICAgICAgICAqIHJ1
bnRpbWUvSlNBcnJheUJ1ZmZlclByb3RvdHlwZS5jcHA6CisgICAgICAgIChKU0M6OmFycmF5QnVm
ZmVyUHJvdG9GdW5jU2xpY2UpOgorCiAyMDIwLTAzLTE1ICBZdXN1a2UgU3V6dWtpICA8eXN1enVr
aUBhcHBsZS5jb20+CiAKICAgICAgICAgcmVwb3J0WmFwcGVkQ2VsbEFuZENyYXNoIHNob3VsZCBo
YW5kbGUgUHJlY2lzZUFsbG9jYXRpb24gaW4gSXNvU3Vic3BhY2UKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA3NDI4
NDQ4Y2UwMzZkNGIyYmEwMWI5NmIzNWFiNjliYTU3NjY4YzllLi4xYzYyMzZjNzlmNTI0MWVjM2Y0
YTVjYmRkZmMwYTUwY2UxOGNkNjE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjkgQEAKKzIwMjAt
MDMtMTUgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KKworICAgICAgICBbSlND
XSBSZW5hbWUgQXJyYXlCdWZmZXI6OnNsaWNlIHRvIEFycmF5QnVmZmVyOjp0cnlTbGljZSBhbmQg
aW5zZXJ0IGFwcHJvcHJpYXRlIGNoZWNrcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjA5MTIxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVXNlIHRyeVNsaWNlIGFuZCBpbnNlcnQgYXBwcm9wcmlhdGUgY2hl
Y2tzIG9yIGZhaWwuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9TdHJ1Y3R1cmVkQ2xvbmUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Y2xvbmVBcnJheUJ1ZmZlckltcGwpOgorICAgICAgICAqIGZp
bGVhcGkvRmlsZVJlYWRlckxvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGaWxlUmVhZGVy
TG9hZGVyOjpkaWRGaW5pc2hMb2FkaW5nKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vSVNPRmFpclBsYXlTdHJlYW1pbmdQc3NoQm94LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OklTT0ZhaXJQbGF5U3RyZWFtaW5nS2V5UmVxdWVzdEluZm9Cb3g6OnBhcnNlKToKKyAg
ICAgICAgKFdlYkNvcmU6OklTT0ZhaXJQbGF5U3RyZWFtaW5nS2V5QXNzZXRJZEJveDo6cGFyc2Up
OgorICAgICAgICAoV2ViQ29yZTo6SVNPRmFpclBsYXlTdHJlYW1pbmdLZXlDb250ZXh0Qm94Ojpw
YXJzZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVk
aWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbToKKyAgICAgICAgKFdlYkNvcmU6OmZ1
bGZpbGxSZXF1ZXN0V2l0aEtleURhdGEpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2lz
by9JU09Qcm90ZWN0aW9uU3lzdGVtU3BlY2lmaWNIZWFkZXJCb3guY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6SVNPUHJvdGVjdGlvblN5c3RlbVNwZWNpZmljSGVhZGVyQm94OjpwYXJzZSk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvaXNvL0lTT1RyYWNrRW5jcnlwdGlvbkJveC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpJU09UcmFja0VuY3J5cHRpb25Cb3g6OnBhcnNlKToKKyAgICAgICAg
KiBwbGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tCb3guY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6TW9ja0luaXRpYWxpemF0aW9uQm94OjpNb2NrSW5pdGlhbGl6YXRpb25Cb3gpOgorCiAyMDIw
LTAzLTE1ICBZdXN1a2UgU3V6dWtpICA8eXN1enVraUBhcHBsZS5jb20+CiAKICAgICAgICAgU2hv
dWxkIG5vdCB1c2UgdmFyaWFibGUtbGVuZ3RoLWFycmF5IChWTEEpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUJ1ZmZlci5jcHAgYi9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9BcnJheUJ1ZmZlci5jcHAKaW5kZXggMmU3YjFmYTc2NmM4NDgzMmU1
Y2YwNTVjMWRlNGNmOGM2NzgyZTJjOC4uZDk0YTRlNDg4ZDMwMGM2YmQ5NzBkYWY4ODFiZmUwY2Jm
M2Q5MThjYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlC
dWZmZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5QnVmZmVy
LmNwcApAQCAtMzA4LDEyICszMDgsMTIgQEAgdW5zaWduZWQgQXJyYXlCdWZmZXI6OmNsYW1wSW5k
ZXgoZG91YmxlIGluZGV4KSBjb25zdAogICAgIHJldHVybiBjbGFtcFZhbHVlKGluZGV4LCAwLCBj
dXJyZW50TGVuZ3RoKTsKIH0KIAotUmVmUHRyPEFycmF5QnVmZmVyPiBBcnJheUJ1ZmZlcjo6c2xp
Y2UoZG91YmxlIGJlZ2luLCBkb3VibGUgZW5kKSBjb25zdAorUmVmUHRyPEFycmF5QnVmZmVyPiBB
cnJheUJ1ZmZlcjo6dHJ5U2xpY2UoZG91YmxlIGJlZ2luLCBkb3VibGUgZW5kKSBjb25zdAogewog
ICAgIHJldHVybiBzbGljZUltcGwoY2xhbXBJbmRleChiZWdpbiksIGNsYW1wSW5kZXgoZW5kKSk7
CiB9CiAKLVJlZlB0cjxBcnJheUJ1ZmZlcj4gQXJyYXlCdWZmZXI6OnNsaWNlKGRvdWJsZSBiZWdp
bikgY29uc3QKK1JlZlB0cjxBcnJheUJ1ZmZlcj4gQXJyYXlCdWZmZXI6OnRyeVNsaWNlKGRvdWJs
ZSBiZWdpbikgY29uc3QKIHsKICAgICByZXR1cm4gc2xpY2VJbXBsKGNsYW1wSW5kZXgoYmVnaW4p
LCBieXRlTGVuZ3RoKCkpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvQXJyYXlCdWZmZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0FycmF5
QnVmZmVyLmgKaW5kZXggZmQxMWRjNjQ2Y2RiZGJjZDAyOTE3NzAyYzI2MGQ0MGQwMjY0MTEzYi4u
Njg1Nzg3YmEzZGRlZTY0ZmZiMzM4YjgyY2ZhNjFhZjk0NjhiZmNkYSAxMDA2NDQKLS0tIGEvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlCdWZmZXIuaAorKysgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUJ1ZmZlci5oCkBAIC0xMzUsOCArMTM1LDggQEAgY2xh
c3MgQXJyYXlCdWZmZXIgOiBwdWJsaWMgR0NJbmNvbWluZ1JlZkNvdW50ZWQ8QXJyYXlCdWZmZXI+
IHsKIAogICAgIGlubGluZSBzaXplX3QgZ2NTaXplRXN0aW1hdGVJbkJ5dGVzKCkgY29uc3Q7CiAK
LSAgICBKU19FWFBPUlRfUFJJVkFURSBSZWZQdHI8QXJyYXlCdWZmZXI+IHNsaWNlKGRvdWJsZSBi
ZWdpbiwgZG91YmxlIGVuZCkgY29uc3Q7Ci0gICAgSlNfRVhQT1JUX1BSSVZBVEUgUmVmUHRyPEFy
cmF5QnVmZmVyPiBzbGljZShkb3VibGUgYmVnaW4pIGNvbnN0OworICAgIEpTX0VYUE9SVF9QUklW
QVRFIFJlZlB0cjxBcnJheUJ1ZmZlcj4gdHJ5U2xpY2UoZG91YmxlIGJlZ2luLCBkb3VibGUgZW5k
KSBjb25zdDsKKyAgICBKU19FWFBPUlRfUFJJVkFURSBSZWZQdHI8QXJyYXlCdWZmZXI+IHRyeVNs
aWNlKGRvdWJsZSBiZWdpbikgY29uc3Q7CiAgICAgCiAgICAgaW5saW5lIHZvaWQgcGluKCk7CiAg
ICAgaW5saW5lIHZvaWQgdW5waW4oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTQXJyYXlCdWZmZXJQcm90b3R5cGUuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNBcnJheUJ1ZmZlclByb3RvdHlwZS5jcHAKaW5kZXggYjc3ZDY2NDcxODhl
NDYyOWFlM2I0ZjdiZDc2YzlhZGU3OGM4YmYwNC4uYjZhYzczYmVjM2E1ZDU5NzcxYWYzY2QxMzZi
YTMxYmMyNGMzZWIyYSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
SlNBcnJheUJ1ZmZlclByb3RvdHlwZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNBcnJheUJ1ZmZlclByb3RvdHlwZS5jcHAKQEAgLTU0LDcgKzU0LDcgQEAgc3RhdGlj
IEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgYXJyYXlCdWZmZXJQcm90b0Z1bmNTbGljZShK
U0dsb2JhbE9iamVjdCogZ2wKICAgICB9IGVsc2UKICAgICAgICAgZW5kID0gdGhpc09iamVjdC0+
aW1wbCgpLT5ieXRlTGVuZ3RoKCk7CiAgICAgCi0gICAgYXV0byBuZXdCdWZmZXIgPSB0aGlzT2Jq
ZWN0LT5pbXBsKCktPnNsaWNlKGJlZ2luLCBlbmQpOworICAgIGF1dG8gbmV3QnVmZmVyID0gdGhp
c09iamVjdC0+aW1wbCgpLT50cnlTbGljZShiZWdpbiwgZW5kKTsKICAgICBpZiAoIW5ld0J1ZmZl
cikKICAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZSh0aHJvd091dE9mTWVtb3J5RXJyb3Io
Z2xvYmFsT2JqZWN0LCBzY29wZSkpOwogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvU3RydWN0dXJlZENsb25lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL1N0cnVjdHVyZWRDbG9uZS5jcHAKaW5kZXggOTg1YjNkYjBkM2YxNjEwMDBmMWZhZDliNDMy
OTc4ZTU0NjIzYWQ2My4uNjg2NGU5MDgzYzI3NTk1ZjQyZmNkMjg2MTNiZWQ2ZTM4MDY1MzRkYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvU3RydWN0dXJlZENsb25lLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9TdHJ1Y3R1cmVkQ2xvbmUuY3BwCkBA
IC01Nyw3ICs1NywxMCBAQCBzdGF0aWMgRW5jb2RlZEpTVmFsdWUgY2xvbmVBcnJheUJ1ZmZlcklt
cGwoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsCiAgICAgICAgIEFTU0VSVChj
YWxsRnJhbWUtPmFyZ3VtZW50Q291bnQoKSA9PSAzKTsKICAgICAgICAgaW50IHNyY0J5dGVPZmZz
ZXQgPSBzdGF0aWNfY2FzdDxpbnQ+KGNhbGxGcmFtZS0+dW5jaGVja2VkQXJndW1lbnQoMSkudG9O
dW1iZXIobGV4aWNhbEdsb2JhbE9iamVjdCkpOwogICAgICAgICBpbnQgc3JjTGVuZ3RoID0gc3Rh
dGljX2Nhc3Q8aW50PihjYWxsRnJhbWUtPnVuY2hlY2tlZEFyZ3VtZW50KDIpLnRvTnVtYmVyKGxl
eGljYWxHbG9iYWxPYmplY3QpKTsKLSAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShKU0Fy
cmF5QnVmZmVyOjpjcmVhdGUobGV4aWNhbEdsb2JhbE9iamVjdC0+dm0oKSwgbGV4aWNhbEdsb2Jh
bE9iamVjdC0+YXJyYXlCdWZmZXJTdHJ1Y3R1cmUoQXJyYXlCdWZmZXJTaGFyaW5nTW9kZTo6RGVm
YXVsdCksIGJ1ZmZlci0+c2xpY2Uoc3JjQnl0ZU9mZnNldCwgc3JjQnl0ZU9mZnNldCArIHNyY0xl
bmd0aCkpKTsKKyAgICAgICAgYXV0byBzbGljZWRCdWZmZXIgPSBidWZmZXItPnRyeVNsaWNlKHNy
Y0J5dGVPZmZzZXQsIHNyY0J5dGVPZmZzZXQgKyBzcmNMZW5ndGgpOworICAgICAgICBpZiAoIXNs
aWNlZEJ1ZmZlcikKKyAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoSlNDOjp0aHJv
d091dE9mTWVtb3J5RXJyb3IoZ2xvYmFsT2JqZWN0LCBzY29wZSkpOworICAgICAgICByZXR1cm4g
SlNWYWx1ZTo6ZW5jb2RlKEpTQXJyYXlCdWZmZXI6OmNyZWF0ZShsZXhpY2FsR2xvYmFsT2JqZWN0
LT52bSgpLCBsZXhpY2FsR2xvYmFsT2JqZWN0LT5hcnJheUJ1ZmZlclN0cnVjdHVyZShBcnJheUJ1
ZmZlclNoYXJpbmdNb2RlOjpEZWZhdWx0KSwgV1RGTW92ZShzbGljZWRCdWZmZXIpKSk7CiAgICAg
fQogICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoSlNBcnJheUJ1ZmZlcjo6Y3JlYXRlKGxleGlj
YWxHbG9iYWxPYmplY3QtPnZtKCksIGxleGljYWxHbG9iYWxPYmplY3QtPmFycmF5QnVmZmVyU3Ry
dWN0dXJlKEFycmF5QnVmZmVyU2hhcmluZ01vZGU6OkRlZmF1bHQpLCBBcnJheUJ1ZmZlcjo6dHJ5
Q3JlYXRlKGJ1ZmZlci0+ZGF0YSgpLCBidWZmZXItPmJ5dGVMZW5ndGgoKSkpKTsKIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVJlYWRlckxvYWRlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9maWxlYXBpL0ZpbGVSZWFkZXJMb2FkZXIuY3BwCmluZGV4IDg5NzE1NWExMjI5
MWRjNGU1MzUyMzRlMDg4YThjNDJlZmEwOWI1YTcuLmM0NDNmMDkxODJiMzE5YmZjYTk1MDMwZTZi
NTBkMWM3NGFlMjU3OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2ZpbGVhcGkvRmlsZVJl
YWRlckxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZmlsZWFwaS9GaWxlUmVhZGVyTG9h
ZGVyLmNwcApAQCAtMjE3LDcgKzIxNyw5IEBAIHZvaWQgRmlsZVJlYWRlckxvYWRlcjo6ZGlkUmVj
ZWl2ZURhdGEoY29uc3QgY2hhciogZGF0YSwgaW50IGRhdGFMZW5ndGgpCiB2b2lkIEZpbGVSZWFk
ZXJMb2FkZXI6OmRpZEZpbmlzaExvYWRpbmcodW5zaWduZWQgbG9uZykKIHsKICAgICBpZiAobV92
YXJpYWJsZUxlbmd0aCAmJiBtX3RvdGFsQnl0ZXMgPiBtX2J5dGVzTG9hZGVkKSB7Ci0gICAgICAg
IG1fcmF3RGF0YSA9IG1fcmF3RGF0YS0+c2xpY2UoMCwgbV9ieXRlc0xvYWRlZCk7CisgICAgICAg
IGF1dG8gYnVmZmVyID0gbV9yYXdEYXRhLT50cnlTbGljZSgwLCBtX2J5dGVzTG9hZGVkKTsKKyAg
ICAgICAgUkVMRUFTRV9BU1NFUlQoYnVmZmVyKTsKKyAgICAgICAgbV9yYXdEYXRhID0gV1RGTW92
ZShidWZmZXIpOwogICAgICAgICBtX3RvdGFsQnl0ZXMgPSBtX2J5dGVzTG9hZGVkOwogICAgIH0K
ICAgICBjbGVhbnVwKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9hdmZvdW5kYXRpb24vSVNPRmFpclBsYXlTdHJlYW1pbmdQc3NoQm94LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9JU09GYWlyUGxheVN0cmVh
bWluZ1Bzc2hCb3guY3BwCmluZGV4IGYzMzk0NGQxODUwNDAzZTkxNTAyZTA2MDNmNTRmYjdiMmI0
NmU0ZmMuLjgxYzZmY2ZlMWYxZWM5ODdkODYxYmU2NGI5NmM5NmI4MDVkNTQwNDMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9JU09GYWly
UGxheVN0cmVhbWluZ1Bzc2hCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2F2Zm91bmRhdGlvbi9JU09GYWlyUGxheVN0cmVhbWluZ1Bzc2hCb3guY3BwCkBAIC02
Miw3ICs2Miw5IEBAIGJvb2wgSVNPRmFpclBsYXlTdHJlYW1pbmdLZXlSZXF1ZXN0SW5mb0JveDo6
cGFyc2UoSlNDOjpEYXRhVmlldyYgdmlldywgdW5zaWduZWQmCiAgICAgaWYgKCFidWZmZXIpCiAg
ICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGF1dG8ga2V5SUQgPSBidWZmZXItPnNsaWNlKGxv
Y2FsT2Zmc2V0LCBsb2NhbE9mZnNldCArIG1fa2V5SUQuY2FwYWNpdHkoKSk7CisgICAgYXV0byBr
ZXlJRCA9IGJ1ZmZlci0+dHJ5U2xpY2UobG9jYWxPZmZzZXQsIGxvY2FsT2Zmc2V0ICsgbV9rZXlJ
RC5jYXBhY2l0eSgpKTsKKyAgICBpZiAoIWtleUlEKQorICAgICAgICByZXR1cm4gZmFsc2U7CiAg
ICAgbG9jYWxPZmZzZXQgKz0gbV9rZXlJRC5jYXBhY2l0eSgpOwogCiAgICAgbV9rZXlJRC5yZXNp
emUobV9rZXlJRC5jYXBhY2l0eSgpKTsKQEAgLTkyLDcgKzk0LDkgQEAgYm9vbCBJU09GYWlyUGxh
eVN0cmVhbWluZ0tleUFzc2V0SWRCb3g6OnBhcnNlKEpTQzo6RGF0YVZpZXcmIHZpZXcsIHVuc2ln
bmVkJiBvZmYKICAgICBpZiAoIVdURjo6c2FmZVN1YihtX3NpemUsIGxvY2FsT2Zmc2V0IC0gb2Zm
c2V0LCBkYXRhU2l6ZSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGF1dG8gcGFyc2Vk
RGF0YSA9IGJ1ZmZlci0+c2xpY2UobG9jYWxPZmZzZXQsIGxvY2FsT2Zmc2V0ICsgZGF0YVNpemUp
OworICAgIGF1dG8gcGFyc2VkRGF0YSA9IGJ1ZmZlci0+dHJ5U2xpY2UobG9jYWxPZmZzZXQsIGxv
Y2FsT2Zmc2V0ICsgZGF0YVNpemUpOworICAgIGlmICghcGFyc2VkRGF0YSkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgIGxvY2FsT2Zmc2V0ICs9IGRhdGFTaXplOwogCiAgICAgbV9kYXRhLnJl
c2l6ZShkYXRhU2l6ZSk7CkBAIC0xMjEsNyArMTI1LDkgQEAgYm9vbCBJU09GYWlyUGxheVN0cmVh
bWluZ0tleUNvbnRleHRCb3g6OnBhcnNlKEpTQzo6RGF0YVZpZXcmIHZpZXcsIHVuc2lnbmVkJiBv
ZmYKICAgICBpZiAoIVdURjo6c2FmZVN1YihtX3NpemUsIGxvY2FsT2Zmc2V0IC0gb2Zmc2V0LCBk
YXRhU2l6ZSkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGF1dG8gcGFyc2VkRGF0YSA9
IGJ1ZmZlci0+c2xpY2UobG9jYWxPZmZzZXQsIGxvY2FsT2Zmc2V0ICsgZGF0YVNpemUpOworICAg
IGF1dG8gcGFyc2VkRGF0YSA9IGJ1ZmZlci0+dHJ5U2xpY2UobG9jYWxPZmZzZXQsIGxvY2FsT2Zm
c2V0ICsgZGF0YVNpemUpOworICAgIGlmICghcGFyc2VkRGF0YSkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOwogICAgIGxvY2FsT2Zmc2V0ICs9IGRhdGFTaXplOwogCiAgICAgbV9kYXRhLnJlc2l6ZShk
YXRhU2l6ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQ
bGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQppbmRleCA2MjQ5Y2FhNzFmOTZhYmRjNWJm
ZjU2MzJhYWUzNjBiNWQyODA1NjI5Li4zYTcxNDBhN2MyODUwOWY0MWZlNzZjODM1ZmEzMGMxYmJl
OTg1NTlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlh
UGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KQEAgLTE2NDksNyArMTY0OSw5IEBAIHN0
YXRpYyB2b2lkIGZ1bGZpbGxSZXF1ZXN0V2l0aEtleURhdGEoQVZBc3NldFJlc291cmNlTG9hZGlu
Z1JlcXVlc3QgKnJlcXVlc3QsIEFyCiAKICAgICAgICAgQVNTRVJUKHN0YXJ0IDw9IHN0ZDo6bnVt
ZXJpY19saW1pdHM8aW50Pjo6bWF4KCkpOwogICAgICAgICBBU1NFUlQoZW5kIDw9IHN0ZDo6bnVt
ZXJpY19saW1pdHM8aW50Pjo6bWF4KCkpOwotICAgICAgICBhdXRvIHJlcXVlc3RlZEtleURhdGEg
PSBrZXlEYXRhLT5zbGljZShzdGF0aWNfY2FzdDxpbnQ+KHN0YXJ0KSwgc3RhdGljX2Nhc3Q8aW50
PihlbmQpKTsKKyAgICAgICAgLy8gRklYTUU6IE5vdCBlZmZpY2llbnQuIFNob3VsZCBwYXNzIGRp
cmVjdCBwb2ludGVyIHRvIE5TRGF0YSB3aXRob3V0IGNhbGxpbmcgQXJyYXlCdWZmZXI6OnRyeVNs
aWNlLgorICAgICAgICBhdXRvIHJlcXVlc3RlZEtleURhdGEgPSBrZXlEYXRhLT50cnlTbGljZShz
dGF0aWNfY2FzdDxpbnQ+KHN0YXJ0KSwgc3RhdGljX2Nhc3Q8aW50PihlbmQpKTsKKyAgICAgICAg
UkVMRUFTRV9BU1NFUlQocmVxdWVzdGVkS2V5RGF0YSk7CiAgICAgICAgIFJldGFpblB0cjxOU0Rh
dGE+IG5zRGF0YSA9IGFkb3B0TlMoW1tOU0RhdGEgYWxsb2NdIGluaXRXaXRoQnl0ZXM6cmVxdWVz
dGVkS2V5RGF0YS0+ZGF0YSgpIGxlbmd0aDpyZXF1ZXN0ZWRLZXlEYXRhLT5ieXRlTGVuZ3RoKCld
KTsKICAgICAgICAgW2RhdGFSZXF1ZXN0IHJlc3BvbmRXaXRoRGF0YTpuc0RhdGEuZ2V0KCldOwog
ICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lzby9J
U09Qcm90ZWN0aW9uU3lzdGVtU3BlY2lmaWNIZWFkZXJCb3guY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvaXNvL0lTT1Byb3RlY3Rpb25TeXN0ZW1TcGVjaWZpY0hlYWRlckJv
eC5jcHAKaW5kZXggMTU4ODljNGVhNTQ4NWZmMmM2YjUyMDRkMzJlODM4ZjJhYzM4OTMxNi4uY2Fh
ZmI5ZGQxZWIxODhmZjE3Yjc0NDc2OTBmMzUxNGU3YTA2NDNlOCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaXNvL0lTT1Byb3RlY3Rpb25TeXN0ZW1TcGVjaWZp
Y0hlYWRlckJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaXNv
L0lTT1Byb3RlY3Rpb25TeXN0ZW1TcGVjaWZpY0hlYWRlckJveC5jcHAKQEAgLTU0LDcgKzU0LDkg
QEAgYm9vbCBJU09Qcm90ZWN0aW9uU3lzdGVtU3BlY2lmaWNIZWFkZXJCb3g6OnBhcnNlKERhdGFW
aWV3JiB2aWV3LCB1bnNpZ25lZCYgb2Zmc2UKICAgICBhdXRvIGJ1ZmZlciA9IHZpZXcucG9zc2li
bHlTaGFyZWRCdWZmZXIoKTsKICAgICBpZiAoIWJ1ZmZlcikKICAgICAgICAgcmV0dXJuIGZhbHNl
OwotICAgIGF1dG8gc3lzdGVtSUQgPSBidWZmZXItPnNsaWNlKG9mZnNldCwgb2Zmc2V0ICsgMTYp
OworICAgIGF1dG8gc3lzdGVtSUQgPSBidWZmZXItPnRyeVNsaWNlKG9mZnNldCwgb2Zmc2V0ICsg
MTYpOworICAgIGlmICghc3lzdGVtSUQpCisgICAgICAgIHJldHVybiBmYWxzZTsKICAgICBvZmZz
ZXQgKz0gMTY7CiAKICAgICBtX3N5c3RlbUlELnJlc2l6ZSgxNik7CkBAIC03MCw3ICs3Miw5IEBA
IGJvb2wgSVNPUHJvdGVjdGlvblN5c3RlbVNwZWNpZmljSGVhZGVyQm94OjpwYXJzZShEYXRhVmll
dyYgdmlldywgdW5zaWduZWQmIG9mZnNlCiAgICAgICAgIGZvciAodW5zaWduZWQga2V5SUQgPSAw
OyBrZXlJRCA8IGtleUlEQ291bnQ7IGtleUlEKyspIHsKICAgICAgICAgICAgIGF1dG8mIGN1cnJl
bnRLZXlJRCA9IG1fa2V5SURzW2tleUlEXTsKICAgICAgICAgICAgIGN1cnJlbnRLZXlJRC5yZXNp
emUoMTYpOwotICAgICAgICAgICAgYXV0byBwYXJzZWRLZXlJRCA9IGJ1ZmZlci0+c2xpY2Uob2Zm
c2V0LCBvZmZzZXQgKyAxNik7CisgICAgICAgICAgICBhdXRvIHBhcnNlZEtleUlEID0gYnVmZmVy
LT50cnlTbGljZShvZmZzZXQsIG9mZnNldCArIDE2KTsKKyAgICAgICAgICAgIGlmICghcGFyc2Vk
S2V5SUQpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgb2Zmc2V0
ICs9IDE2OwogICAgICAgICAgICAgbWVtY3B5KGN1cnJlbnRLZXlJRC5kYXRhKCksIHBhcnNlZEtl
eUlELT5kYXRhKCksIDE2KTsKICAgICAgICAgfQpAQCAtODEsNyArODUsOSBAQCBib29sIElTT1By
b3RlY3Rpb25TeXN0ZW1TcGVjaWZpY0hlYWRlckJveDo6cGFyc2UoRGF0YVZpZXcmIHZpZXcsIHVu
c2lnbmVkJiBvZmZzZQogICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgaWYgKGJ1ZmZlci0+Ynl0
ZUxlbmd0aCgpIC0gb2Zmc2V0IDwgZGF0YVNpemUpCiAgICAgICAgIHJldHVybiBmYWxzZTsKLSAg
ICBhdXRvIHBhcnNlZERhdGEgPSBidWZmZXItPnNsaWNlKG9mZnNldCwgb2Zmc2V0ICsgZGF0YVNp
emUpOworICAgIGF1dG8gcGFyc2VkRGF0YSA9IGJ1ZmZlci0+dHJ5U2xpY2Uob2Zmc2V0LCBvZmZz
ZXQgKyBkYXRhU2l6ZSk7CisgICAgaWYgKCFwYXJzZWREYXRhKQorICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgb2Zmc2V0ICs9IGRhdGFTaXplOwogCiAgICAgbV9kYXRhLnJlc2l6ZShkYXRhU2l6
ZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9pc28vSVNP
VHJhY2tFbmNyeXB0aW9uQm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2lzby9JU09UcmFja0VuY3J5cHRpb25Cb3guY3BwCmluZGV4IDJjOTRmNGQzY2MxYjc2MTc1ZDky
Mzg4NjI2ZjE4MGI5Y2I4MDIxNmIuLjNlMjlhMmRmOGVhY2ZlOWMyZGM0NDg3ZGRkOGZiN2FiZDdi
M2M2YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2lzby9J
U09UcmFja0VuY3J5cHRpb25Cb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2lzby9JU09UcmFja0VuY3J5cHRpb25Cb3guY3BwCkBAIC02Myw3ICs2Myw5IEBAIGJv
b2wgSVNPVHJhY2tFbmNyeXB0aW9uQm94OjpwYXJzZShEYXRhVmlldyYgdmlldywgdW5zaWduZWQm
IG9mZnNldCkKICAgICBpZiAoIWJ1ZmZlcikKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAg
YXV0byBrZXlJREJ1ZmZlciA9IGJ1ZmZlci0+c2xpY2Uob2Zmc2V0LCBvZmZzZXQgKyAxNik7Cisg
ICAgYXV0byBrZXlJREJ1ZmZlciA9IGJ1ZmZlci0+dHJ5U2xpY2Uob2Zmc2V0LCBvZmZzZXQgKyAx
Nik7CisgICAgaWYgKCFrZXlJREJ1ZmZlcikKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIG9m
ZnNldCArPSAxNjsKIAogICAgIG1fZGVmYXVsdEtJRC5yZXNpemUoMTYpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrQm94LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21vY2svbWVkaWFzb3VyY2UvTW9ja0JveC5jcHAKaW5kZXgg
NzhhNWQ5MGE5NmRmZTA4N2RmYTE0YTcxYTA1MDIwYjhlMzZlYjY2My4uMDBlNjQ1NThlNmQxNDNl
ZDA2ZDI3MGY4MzRkMjUyNWZkYWJhZTk3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbW9jay9tZWRpYXNvdXJjZS9Nb2NrQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tb2NrL21lZGlhc291cmNlL01vY2tCb3guY3BwCkBAIC05OCw3ICs5OCw4IEBAIE1v
Y2tJbml0aWFsaXphdGlvbkJveDo6TW9ja0luaXRpYWxpemF0aW9uQm94KEFycmF5QnVmZmVyKiBk
YXRhKQogICAgIHNpemVfdCBvZmZzZXQgPSAxNjsKIAogICAgIHdoaWxlIChvZmZzZXQgPCBtX2xl
bmd0aCkgewotICAgICAgICBhdXRvIHN1YkJ1ZmZlciA9IGRhdGEtPnNsaWNlKG9mZnNldCk7Cisg
ICAgICAgIGF1dG8gc3ViQnVmZmVyID0gZGF0YS0+dHJ5U2xpY2Uob2Zmc2V0KTsKKyAgICAgICAg
UkVMRUFTRV9BU1NFUlQoc3ViQnVmZmVyKTsKICAgICAgICAgaWYgKE1vY2tCb3g6OnBlZWtUeXBl
KHN1YkJ1ZmZlci5nZXQoKSkgIT0gTW9ja1RyYWNrQm94Ojp0eXBlKCkpCiAgICAgICAgICAgICBi
cmVhazsKIAo=
</data>
<flag name="review"
          id="409004"
          type_id="1"
          status="+"
          setter="mark.lam"
    />
          </attachment>
      

    </bug>

</bugzilla>