<?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>106975</bug_id>
          
          <creation_ts>2013-01-15 19:38:49 -0800</creation_ts>
          <short_desc>Simplify validation and data copying in WebGLBuffer</short_desc>
          <delta_ts>2013-01-17 15:00:03 -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>WebGL</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          
          <blocked>107185</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kenneth Russell">kbr</reporter>
          <assigned_to name="Kenneth Russell">kbr</assigned_to>
          <cc>bajones</cc>
    
    <cc>cmarrin</cc>
    
    <cc>dino</cc>
    
    <cc>gman</cc>
    
    <cc>leviw</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zmo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>807956</commentid>
    <comment_count>0</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2013-01-15 19:38:49 -0800</bug_when>
    <thetext>The WebGLBuffer class helps validate calls to bufferData and bufferSubData, and holds on to copies of indices for ELEMENT_ARRAY_BUFFER type buffers. Currently, its lowest level validation is written in terms of ArrayBuffers, which makes the validation checks it does much more complicated than they should be. Typed array instances, in particular subarrays, are already verified during construction, and some of the checks being done in WebGLBuffer are redundant. Additionally, it looks like they may even be incomplete because of the complexity of the code.

Changing the base validation routines to operate on a (void*, GC3Dsizeiptr) pair simplifies them considerably.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>807960</commentid>
    <comment_count>1</comment_count>
      <attachid>182908</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2013-01-15 19:44:10 -0800</bug_when>
    <thetext>Created attachment 182908
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>808642</commentid>
    <comment_count>2</comment_count>
      <attachid>182908</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-16 13:10:33 -0800</bug_when>
    <thetext>Comment on attachment 182908
Patch

Clearing flags on attachment: 182908

Committed r139914: &lt;http://trac.webkit.org/changeset/139914&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>808643</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-16 13:10:36 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>808700</commentid>
    <comment_count>4</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2013-01-16 14:07:22 -0800</bug_when>
    <thetext>Reverted r139914 for reason:

Caused crashes in compositing/visibility/visibility-simple-webgl-layer.html

Committed r139923: &lt;http://trac.webkit.org/changeset/139923&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>808750</commentid>
    <comment_count>5</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2013-01-16 15:05:03 -0800</bug_when>
    <thetext>I&apos;ve attempted to reproduce locally the crash seen in the flakiness dashboard with both Debug and Release builds of DRT but can not. I suspect that the crash is some rare preexisting bug. Subsequent runs on the flakiness dashboard which still contained my patch were clean. I&apos;m going to re-land it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>808753</commentid>
    <comment_count>6</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2013-01-16 15:10:32 -0800</bug_when>
    <thetext>Committed r139928: &lt;http://trac.webkit.org/changeset/139928&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>808762</commentid>
    <comment_count>7</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2013-01-16 15:16:24 -0800</bug_when>
    <thetext>For the record, here was the failing build:

http://build.chromium.org/p/chromium.webkit/builders/WebKit%20Mac10.8/builds/4201

and the layout test results from that run:

http://build.chromium.org/f/chromium/layout_test_results/WebKit_Mac10_8/177217/layout-test-results.zip</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182908</attachid>
            <date>2013-01-15 19:44:10 -0800</date>
            <delta_ts>2013-01-16 13:10:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106975-20130115194112.patch</filename>
            <type>text/plain</type>
            <size>7894</size>
            <attacher name="Kenneth Russell">kbr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5ODIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODdlYTkyY2Y1ZTg4MmZi
OTQ4OTM3ZmE5MWY1OGFjZDk4NzQ0ZjJmZC4uZTAwMGM3YTgwNGY1ZDZlZmQxMmM1N2QzMGM3M2Nl
ODUxYjFlOTM1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEzLTAxLTE1ICBLZW5u
ZXRoIFJ1c3NlbGwgIDxrYnJAZ29vZ2xlLmNvbT4KKworICAgICAgICBTaW1wbGlmeSB2YWxpZGF0
aW9uIGFuZCBkYXRhIGNvcHlpbmcgaW4gV2ViR0xCdWZmZXIKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNjk3NQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0czsgY292ZXJlZCBieSBleGlz
dGluZyB0ZXN0cy4gUmFuIFdlYkdMIGxheW91dCB0ZXN0cyBhbmQgY29uZm9ybWFuY2UgdGVzdHMu
CisKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTEJ1ZmZlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpXZWJHTEJ1ZmZlcjo6YXNzb2NpYXRlQnVmZmVyRGF0YUltcGwpOgorICAgICAgICAgICAg
VGFrZSAodm9pZCosIGludCkgcGFpciBpbnN0ZWFkIG9mIEFycmF5QnVmZmVyIGFuZCBvZmZzZXQu
IFNpbXBsaWZpZXMgY29kZSBzaWduaWZpY2FudGx5LgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xC
dWZmZXI6OmFzc29jaWF0ZUJ1ZmZlckRhdGEpOgorICAgICAgICAgICAgUGFzcyBkb3duIGJhc2Ug
cG9pbnRlcnMgYW5kIHNpemVzIHJhdGhlciB0aGFuIEFycmF5QnVmZmVyIGFuZCBvcHRpb25hbCBv
ZmZzZXQuCisgICAgICAgIChXZWJDb3JlOjpXZWJHTEJ1ZmZlcjo6YXNzb2NpYXRlQnVmZmVyU3Vi
RGF0YUltcGwpOgorICAgICAgICAgICAgVGFrZSAodm9pZCosIGludCkgcGFpciBpbnN0ZWFkIG9m
IEFycmF5QnVmZmVyIGFuZCBvZmZzZXQuIFNpbXBsaWZpZXMgY29kZSBzaWduaWZpY2FudGx5Lgor
ICAgICAgICAoV2ViQ29yZTo6V2ViR0xCdWZmZXI6OmFzc29jaWF0ZUJ1ZmZlclN1YkRhdGEpOgor
ICAgICAgICAgICAgUGFzcyBkb3duIGJhc2UgcG9pbnRlcnMgYW5kIHNpemVzIHJhdGhlciB0aGFu
IEFycmF5QnVmZmVyIGFuZCBvcHRpb25hbCBvZmZzZXQuCisgICAgICAgICogaHRtbC9jYW52YXMv
V2ViR0xCdWZmZXIuaDoKKyAgICAgICAgKFdlYkdMQnVmZmVyKToKKyAgICAgICAgICAgIENoYW5n
ZSBzaWduYXR1cmVzIG9mIGFzc29jaWF0ZUJ1ZmZlckRhdGFJbXBsIGFuZCBhc3NvY2lhdGVCdWZm
ZXJTdWJEYXRhSW1wbC4KKwogMjAxMy0wMS0xNSAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9u
QGFwcGxlLmNvbT4KIAogICAgICAgICBDbGFtcCBUaWxlQ2FjaGUgdmlzaWJsZVJlY3QgdG8gV0tW
aWV3J3MgdmlzaWJsZVJlY3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdMQnVmZmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMQnVmZmVy
LmNwcAppbmRleCBhZGQyOGNmNjRkMzlkOTdlZjhjYzU5N2UyMDJjMTllOTVhOTQ4Y2Q4Li5mNWVh
OTQ3ZTExOWJmYTVjMTc2NjZjMTZmOGIxMGJiMDM4ZDZiMzE5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEJ1ZmZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR0xCdWZmZXIuY3BwCkBAIC02MSwxOSArNjEsMTEgQEAgdm9pZCBXZWJH
TEJ1ZmZlcjo6ZGVsZXRlT2JqZWN0SW1wbChHcmFwaGljc0NvbnRleHQzRCogY29udGV4dDNkLCBQ
bGF0Zm9ybTNET2JqZWMKICAgICAgIGNvbnRleHQzZC0+ZGVsZXRlQnVmZmVyKG9iamVjdCk7CiB9
CiAKLWJvb2wgV2ViR0xCdWZmZXI6OmFzc29jaWF0ZUJ1ZmZlckRhdGFJbXBsKEFycmF5QnVmZmVy
KiBhcnJheSwgR0MzRGludHB0ciBieXRlT2Zmc2V0LCBHQzNEc2l6ZWlwdHIgYnl0ZUxlbmd0aCkK
K2Jvb2wgV2ViR0xCdWZmZXI6OmFzc29jaWF0ZUJ1ZmZlckRhdGFJbXBsKGNvbnN0IHZvaWQqIGRh
dGEsIEdDM0RzaXplaXB0ciBieXRlTGVuZ3RoKQogewotICAgIGlmIChieXRlTGVuZ3RoIDwgMCB8
fCBieXRlT2Zmc2V0IDwgMCkKKyAgICBpZiAoYnl0ZUxlbmd0aCA8IDApCiAgICAgICAgIHJldHVy
biBmYWxzZTsKIAotICAgIGlmIChhcnJheSAmJiBieXRlTGVuZ3RoKSB7Ci0gICAgICAgIENoZWNr
ZWRJbnQ8R0MzRGludHB0cj4gY2hlY2tlZE9mZnNldChieXRlT2Zmc2V0KTsKLSAgICAgICAgQ2hl
Y2tlZEludDxHQzNEc2l6ZWlwdHI+IGNoZWNrZWRMZW5ndGgoYnl0ZUxlbmd0aCk7Ci0gICAgICAg
IENoZWNrZWRJbnQ8R0MzRGludHB0cj4gY2hlY2tlZE1heCA9IGNoZWNrZWRPZmZzZXQgKyBjaGVj
a2VkTGVuZ3RoOwotICAgICAgICBpZiAoIWNoZWNrZWRNYXguaXNWYWxpZCgpIHx8IGNoZWNrZWRN
YXgudmFsdWUoKSA+IHN0YXRpY19jYXN0PGludDMyX3Q+KGFycmF5LT5ieXRlTGVuZ3RoKCkpKQot
ICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLQogICAgIHN3aXRjaCAobV90YXJnZXQp
IHsKICAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpFTEVNRU5UX0FSUkFZX0JVRkZFUjoKICAg
ICAgICAgbV9ieXRlTGVuZ3RoID0gYnl0ZUxlbmd0aDsKQEAgLTg0LDEzICs3NiwxMSBAQCBib29s
IFdlYkdMQnVmZmVyOjphc3NvY2lhdGVCdWZmZXJEYXRhSW1wbChBcnJheUJ1ZmZlciogYXJyYXks
IEdDM0RpbnRwdHIgYnl0ZU9mZgogICAgICAgICAgICAgICAgIG1fYnl0ZUxlbmd0aCA9IDA7CiAg
ICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgfQotICAgICAgICAgICAg
aWYgKGFycmF5KSB7CisgICAgICAgICAgICBpZiAoZGF0YSkgewogICAgICAgICAgICAgICAgIC8v
IFdlIG11c3QgYWx3YXlzIGNsb25lIHRoZSBpbmNvbWluZyBkYXRhIGJlY2F1c2UgY2xpZW50LXNp
ZGUKICAgICAgICAgICAgICAgICAvLyBtb2RpZmljYXRpb25zIHdpdGhvdXQgY2FsbGluZyBidWZm
ZXJEYXRhIG9yIGJ1ZmZlclN1YkRhdGEKICAgICAgICAgICAgICAgICAvLyBtdXN0IG5ldmVyIGJl
IGFibGUgdG8gY2hhbmdlIHRoZSB2YWxpZGF0aW9uIHJlc3VsdHMuCi0gICAgICAgICAgICAgICAg
bWVtY3B5KHN0YXRpY19jYXN0PHVuc2lnbmVkIGNoYXIqPihtX2VsZW1lbnRBcnJheUJ1ZmZlci0+
ZGF0YSgpKSwKLSAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8dW5zaWduZWQgY2hh
cio+KGFycmF5LT5kYXRhKCkpICsgYnl0ZU9mZnNldCwKLSAgICAgICAgICAgICAgICAgICAgICAg
Ynl0ZUxlbmd0aCk7CisgICAgICAgICAgICAgICAgbWVtY3B5KG1fZWxlbWVudEFycmF5QnVmZmVy
LT5kYXRhKCksIGRhdGEsIGJ5dGVMZW5ndGgpOwogICAgICAgICAgICAgfQogICAgICAgICB9IGVs
c2UKICAgICAgICAgICAgIG1fZWxlbWVudEFycmF5QnVmZmVyID0gMDsKQEAgLTEwNSwzNyArOTUs
MzMgQEAgYm9vbCBXZWJHTEJ1ZmZlcjo6YXNzb2NpYXRlQnVmZmVyRGF0YUltcGwoQXJyYXlCdWZm
ZXIqIGFycmF5LCBHQzNEaW50cHRyIGJ5dGVPZmYKIAogYm9vbCBXZWJHTEJ1ZmZlcjo6YXNzb2Np
YXRlQnVmZmVyRGF0YShHQzNEc2l6ZWlwdHIgc2l6ZSkKIHsKLSAgICBpZiAoc2l6ZSA8IDApCi0g
ICAgICAgIHJldHVybiBmYWxzZTsKLSAgICByZXR1cm4gYXNzb2NpYXRlQnVmZmVyRGF0YUltcGwo
MCwgMCwgc2l6ZSk7CisgICAgcmV0dXJuIGFzc29jaWF0ZUJ1ZmZlckRhdGFJbXBsKDAsIHNpemUp
OwogfQogCiBib29sIFdlYkdMQnVmZmVyOjphc3NvY2lhdGVCdWZmZXJEYXRhKEFycmF5QnVmZmVy
KiBhcnJheSkKIHsKICAgICBpZiAoIWFycmF5KQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAg
cmV0dXJuIGFzc29jaWF0ZUJ1ZmZlckRhdGFJbXBsKGFycmF5LCAwLCBhcnJheS0+Ynl0ZUxlbmd0
aCgpKTsKKyAgICByZXR1cm4gYXNzb2NpYXRlQnVmZmVyRGF0YUltcGwoYXJyYXkgPyBhcnJheS0+
ZGF0YSgpIDogMCwgYXJyYXkgPyBhcnJheS0+Ynl0ZUxlbmd0aCgpIDogMCk7CiB9CiAKIGJvb2wg
V2ViR0xCdWZmZXI6OmFzc29jaWF0ZUJ1ZmZlckRhdGEoQXJyYXlCdWZmZXJWaWV3KiBhcnJheSkK
IHsKICAgICBpZiAoIWFycmF5KQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgcmV0dXJuIGFz
c29jaWF0ZUJ1ZmZlckRhdGFJbXBsKGFycmF5LT5idWZmZXIoKS5nZXQoKSwgYXJyYXktPmJ5dGVP
ZmZzZXQoKSwgYXJyYXktPmJ5dGVMZW5ndGgoKSk7CisgICAgcmV0dXJuIGFzc29jaWF0ZUJ1ZmZl
ckRhdGFJbXBsKGFycmF5ID8gYXJyYXktPmJhc2VBZGRyZXNzKCkgOiAwLCBhcnJheSA/IGFycmF5
LT5ieXRlTGVuZ3RoKCkgOiAwKTsKIH0KIAotYm9vbCBXZWJHTEJ1ZmZlcjo6YXNzb2NpYXRlQnVm
ZmVyU3ViRGF0YUltcGwoR0MzRGludHB0ciBvZmZzZXQsIEFycmF5QnVmZmVyKiBhcnJheSwgR0Mz
RGludHB0ciBhcnJheUJ5dGVPZmZzZXQsIEdDM0RzaXplaXB0ciBieXRlTGVuZ3RoKQorYm9vbCBX
ZWJHTEJ1ZmZlcjo6YXNzb2NpYXRlQnVmZmVyU3ViRGF0YUltcGwoR0MzRGludHB0ciBvZmZzZXQs
IGNvbnN0IHZvaWQqIGRhdGEsIEdDM0RzaXplaXB0ciBieXRlTGVuZ3RoKQogewotICAgIGlmICgh
YXJyYXkgfHwgb2Zmc2V0IDwgMCB8fCBhcnJheUJ5dGVPZmZzZXQgPCAwIHx8IGJ5dGVMZW5ndGgg
PCAwKQorICAgIGlmICghZGF0YSB8fCBvZmZzZXQgPCAwIHx8IGJ5dGVMZW5ndGggPCAwKQogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAKICAgICBpZiAoYnl0ZUxlbmd0aCkgewogICAgICAgICBDaGVj
a2VkSW50PEdDM0RpbnRwdHI+IGNoZWNrZWRCdWZmZXJPZmZzZXQob2Zmc2V0KTsKLSAgICAgICAg
Q2hlY2tlZEludDxHQzNEaW50cHRyPiBjaGVja2VkQXJyYXlPZmZzZXQoYXJyYXlCeXRlT2Zmc2V0
KTsKLSAgICAgICAgQ2hlY2tlZEludDxHQzNEc2l6ZWlwdHI+IGNoZWNrZWRMZW5ndGgoYnl0ZUxl
bmd0aCk7Ci0gICAgICAgIENoZWNrZWRJbnQ8R0MzRGludHB0cj4gY2hlY2tlZEFycmF5TWF4ID0g
Y2hlY2tlZEFycmF5T2Zmc2V0ICsgY2hlY2tlZExlbmd0aDsKLSAgICAgICAgQ2hlY2tlZEludDxH
QzNEaW50cHRyPiBjaGVja2VkQnVmZmVyTWF4ID0gY2hlY2tlZEJ1ZmZlck9mZnNldCArIGNoZWNr
ZWRMZW5ndGg7Ci0gICAgICAgIGlmICghY2hlY2tlZEFycmF5TWF4LmlzVmFsaWQoKSB8fCBjaGVj
a2VkQXJyYXlNYXgudmFsdWUoKSA+IHN0YXRpY19jYXN0PGludDMyX3Q+KGFycmF5LT5ieXRlTGVu
Z3RoKCkpIHx8ICFjaGVja2VkQnVmZmVyTWF4LmlzVmFsaWQoKSB8fCBjaGVja2VkQnVmZmVyTWF4
LnZhbHVlKCkgPiBtX2J5dGVMZW5ndGgpCisgICAgICAgIENoZWNrZWRJbnQ8R0MzRHNpemVpcHRy
PiBjaGVja2VkRGF0YUxlbmd0aChieXRlTGVuZ3RoKTsKKyAgICAgICAgQ2hlY2tlZEludDxHQzNE
aW50cHRyPiBjaGVja2VkQnVmZmVyTWF4ID0gY2hlY2tlZEJ1ZmZlck9mZnNldCArIGNoZWNrZWRE
YXRhTGVuZ3RoOworICAgICAgICBpZiAoIWNoZWNrZWRCdWZmZXJNYXguaXNWYWxpZCgpIHx8IG9m
ZnNldCA+IG1fYnl0ZUxlbmd0aCB8fCBjaGVja2VkQnVmZmVyTWF4LnZhbHVlKCkgPiBtX2J5dGVM
ZW5ndGgpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCkBAIC0xNDUsOSArMTMx
LDcgQEAgYm9vbCBXZWJHTEJ1ZmZlcjo6YXNzb2NpYXRlQnVmZmVyU3ViRGF0YUltcGwoR0MzRGlu
dHB0ciBvZmZzZXQsIEFycmF5QnVmZmVyKiBhcnIKICAgICAgICAgaWYgKGJ5dGVMZW5ndGgpIHsK
ICAgICAgICAgICAgIGlmICghbV9lbGVtZW50QXJyYXlCdWZmZXIpCiAgICAgICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOwotICAgICAgICAgICAgbWVtY3B5KHN0YXRpY19jYXN0PHVuc2lnbmVkIGNo
YXIqPihtX2VsZW1lbnRBcnJheUJ1ZmZlci0+ZGF0YSgpKSArIG9mZnNldCwKLSAgICAgICAgICAg
ICAgICAgICBzdGF0aWNfY2FzdDx1bnNpZ25lZCBjaGFyKj4oYXJyYXktPmRhdGEoKSkgKyBhcnJh
eUJ5dGVPZmZzZXQsCi0gICAgICAgICAgICAgICAgICAgYnl0ZUxlbmd0aCk7CisgICAgICAgICAg
ICBtZW1jcHkoc3RhdGljX2Nhc3Q8dW5zaWduZWQgY2hhcio+KG1fZWxlbWVudEFycmF5QnVmZmVy
LT5kYXRhKCkpICsgb2Zmc2V0LCBkYXRhLCBieXRlTGVuZ3RoKTsKICAgICAgICAgfQogICAgICAg
ICByZXR1cm4gdHJ1ZTsKICAgICBjYXNlIEdyYXBoaWNzQ29udGV4dDNEOjpBUlJBWV9CVUZGRVI6
CkBAIC0xNjEsMTQgKzE0NSwxNCBAQCBib29sIFdlYkdMQnVmZmVyOjphc3NvY2lhdGVCdWZmZXJT
dWJEYXRhKEdDM0RpbnRwdHIgb2Zmc2V0LCBBcnJheUJ1ZmZlciogYXJyYXkpCiB7CiAgICAgaWYg
KCFhcnJheSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIHJldHVybiBhc3NvY2lhdGVCdWZm
ZXJTdWJEYXRhSW1wbChvZmZzZXQsIGFycmF5LCAwLCBhcnJheS0+Ynl0ZUxlbmd0aCgpKTsKKyAg
ICByZXR1cm4gYXNzb2NpYXRlQnVmZmVyU3ViRGF0YUltcGwob2Zmc2V0LCBhcnJheS0+ZGF0YSgp
LCBhcnJheS0+Ynl0ZUxlbmd0aCgpKTsKIH0KIAogYm9vbCBXZWJHTEJ1ZmZlcjo6YXNzb2NpYXRl
QnVmZmVyU3ViRGF0YShHQzNEaW50cHRyIG9mZnNldCwgQXJyYXlCdWZmZXJWaWV3KiBhcnJheSkK
IHsKICAgICBpZiAoIWFycmF5KQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgcmV0dXJuIGFz
c29jaWF0ZUJ1ZmZlclN1YkRhdGFJbXBsKG9mZnNldCwgYXJyYXktPmJ1ZmZlcigpLmdldCgpLCBh
cnJheS0+Ynl0ZU9mZnNldCgpLCBhcnJheS0+Ynl0ZUxlbmd0aCgpKTsKKyAgICByZXR1cm4gYXNz
b2NpYXRlQnVmZmVyU3ViRGF0YUltcGwob2Zmc2V0LCBhcnJheS0+YmFzZUFkZHJlc3MoKSwgYXJy
YXktPmJ5dGVMZW5ndGgoKSk7CiB9CiAKIEdDM0RzaXplaXB0ciBXZWJHTEJ1ZmZlcjo6Ynl0ZUxl
bmd0aCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
TEJ1ZmZlci5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xCdWZmZXIuaAppbmRl
eCA4NDljMzU4MmJkNzljYThjMTUwNTE0NzUzMGZkOTBlN2RjYjVlOTk2Li40Y2VlYTliYzk1YjE1
MmZmODg4OWFkYmFiYTUzODE4ZWYxMjEzODViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9XZWJHTEJ1ZmZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdMQnVmZmVyLmgKQEAgLTk1LDkgKzk1LDkgQEAgcHJpdmF0ZToKICAgICB2b2lkIGNsZWFy
Q2FjaGVkTWF4SW5kaWNlcygpOwogCiAgICAgLy8gSGVscGVyIGZ1bmN0aW9uIGNhbGxlZCBieSB0
aGUgdGhyZWUgYXNzb2NpYXRlQnVmZmVyRGF0YSgpLgotICAgIGJvb2wgYXNzb2NpYXRlQnVmZmVy
RGF0YUltcGwoQXJyYXlCdWZmZXIqIGFycmF5LCBHQzNEaW50cHRyIGJ5dGVPZmZzZXQsIEdDM0Rz
aXplaXB0ciBieXRlTGVuZ3RoKTsKKyAgICBib29sIGFzc29jaWF0ZUJ1ZmZlckRhdGFJbXBsKGNv
bnN0IHZvaWQqIGRhdGEsIEdDM0RzaXplaXB0ciBieXRlTGVuZ3RoKTsKICAgICAvLyBIZWxwZXIg
ZnVuY3Rpb24gY2FsbGVkIGJ5IHRoZSB0d28gYXNzb2NpYXRlQnVmZmVyU3ViRGF0YSgpLgotICAg
IGJvb2wgYXNzb2NpYXRlQnVmZmVyU3ViRGF0YUltcGwoR0MzRGludHB0ciBvZmZzZXQsIEFycmF5
QnVmZmVyKiBhcnJheSwgR0MzRGludHB0ciBhcnJheUJ5dGVPZmZzZXQsIEdDM0RzaXplaXB0ciBi
eXRlTGVuZ3RoKTsKKyAgICBib29sIGFzc29jaWF0ZUJ1ZmZlclN1YkRhdGFJbXBsKEdDM0RpbnRw
dHIgb2Zmc2V0LCBjb25zdCB2b2lkKiBkYXRhLCBHQzNEc2l6ZWlwdHIgYnl0ZUxlbmd0aCk7CiB9
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>