<?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>123746</bug_id>
          
          <creation_ts>2013-11-04 10:14:39 -0800</creation_ts>
          <short_desc>JSArrayBufferViews of length 0 allocate 0 CopiedSpace bytes, which is invalid</short_desc>
          <delta_ts>2013-11-22 16:12:46 -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>JavaScriptCore</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>122679</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Hahnenberg">mhahnenberg</reporter>
          <assigned_to name="Mark Hahnenberg">mhahnenberg</assigned_to>
          <cc>fpizlo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>946716</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-11-04 10:14:39 -0800</bug_when>
    <thetext>We have 3 options here:

(1) Allow clients to allocate 0 bytes and return NULL when they do. This is less than ideal because it adds an extra null check to the fast path for CopiedSpace allocation.

(2) Allow clients to allocate 0 bytes and do no special checks (i.e. return a valid pointer to some CopiedBlock). This is the worst of the three options because clients are already not allowed to copy allocations of size 0, so they would have a valid pointer that they could do nothing with and which would eventually point to invalid memory when the CopiedBlock was thrown away without updating the pointer. All in all, not a good idea.

(3) Disallow clients from allocating 0 bytes. Enforce with a RELEASE_ASSERT in C++ code and breakpoints in JIT code. This is probably the way to go. Clients who care about 0-byte allocations must handle that case themselves, but we don&apos;t punish anybody else for the rare case that somebody decides to allocate a 0-length typed array. It also makes the allocation and copying cases consistent for CopiedSpace: no 0-byte allocations, no 0-byte copying.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>946717</commentid>
    <comment_count>1</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-11-04 10:18:49 -0800</bug_when>
    <thetext>&lt;rdar://problem/15378335&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>946749</commentid>
    <comment_count>2</comment_count>
      <attachid>215936</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-11-04 11:34:25 -0800</bug_when>
    <thetext>Created attachment 215936
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>946751</commentid>
    <comment_count>3</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-11-04 11:35:35 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Created an attachment (id=215936) [details]
&gt; Patch

Forgot to svn add the new test, uploading new version...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>946753</commentid>
    <comment_count>4</comment_count>
      <attachid>215936</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-11-04 11:39:32 -0800</bug_when>
    <thetext>Comment on attachment 215936
Patch

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

r=me

&gt; Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:4712
&gt; +    slowCases.append(m_jit.branchTest32(MacroAssembler::Zero, sizeGPR));

I think it&apos;s probably reasonably common to make a typed array and then append to it. Instead of a slow case, I think this should ultimately be a branch around the allocation code, followed by a store of 0 to JSArrayBufferView::offsetOfVector(). Can you file a follow-up bug?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>946755</commentid>
    <comment_count>5</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-11-04 11:42:24 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 215936 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=215936&amp;action=review
&gt; 
&gt; r=me
&gt; 
&gt; &gt; Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:4712
&gt; &gt; +    slowCases.append(m_jit.branchTest32(MacroAssembler::Zero, sizeGPR));
&gt; 
&gt; I think it&apos;s probably reasonably common to make a typed array and then append to it. Instead of a slow case, I think this should ultimately be a branch around the allocation code, followed by a store of 0 to JSArrayBufferView::offsetOfVector(). Can you file a follow-up bug?

Is it possible to have a dynamically sized TypedArray? I thought they had a fixed size.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>946758</commentid>
    <comment_count>6</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-11-04 11:50:11 -0800</bug_when>
    <thetext>Committed r158583: &lt;http://trac.webkit.org/changeset/158583&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>946799</commentid>
    <comment_count>7</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-11-04 13:22:54 -0800</bug_when>
    <thetext>Reopening because Phil has beef.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>947029</commentid>
    <comment_count>8</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-11-04 22:19:37 -0800</bug_when>
    <thetext>Marking as blocking bug 122679, because this prevents running a WebCrypto test suite.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>953716</commentid>
    <comment_count>9</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-11-22 16:09:33 -0800</bug_when>
    <thetext>Can we track the remaining issues in a separate bug? It doesn&apos;t seem right that this bug blocks WebCrypto at this point.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>953718</commentid>
    <comment_count>10</comment_count>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-11-22 16:12:46 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; Can we track the remaining issues in a separate bug? It doesn&apos;t seem right that this bug blocks WebCrypto at this point.

Filed bug 124799.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>215936</attachid>
            <date>2013-11-04 11:34:25 -0800</date>
            <delta_ts>2013-11-04 11:39:32 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-123746-20131104113428.patch</filename>
            <type>text/plain</type>
            <size>7100</size>
            <attacher name="Mark Hahnenberg">mhahnenberg</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTU4NTgyKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM2IEBA
CisyMDEzLTExLTA0ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CisK
KyAgICAgICAgSlNBcnJheUJ1ZmZlclZpZXdzIG9mIGxlbmd0aCAwIGFsbG9jYXRlIDAgQ29waWVk
U3BhY2UgYnl0ZXMsIHdoaWNoIGlzIGludmFsaWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMzc0NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggZGlzYWxsb3dzIGNsaWVudHMgZnJvbSBh
bGxvY2F0aW5nIDAgYnl0ZXMgaW4gQ29waWVkU3BhY2UuIFdlIGVuZm9yY2UgdGhpcyBpbnZhcmlh
bnQgCisgICAgICAgIHdpdGggYW4gQVNTRVJUIGluIEMrKyBjb2RlIGFuZCBhIGJyZWFrcG9pbnQg
aW4gSklUIGNvZGUuIENsaWVudHMgd2hvIGNhcmUgYWJvdXQgMC1ieXRlIAorICAgICAgICBhbGxv
Y2F0aW9ucyAobGlrZSBKU0FycmF5QnVmZmVyVmlld3MpIG11c3QgaGFuZGxlIHRoYXQgY2FzZSB0
aGVtc2VsdmVzLCBidXQgd2UgZG9uJ3QgcHVuaXNoIAorICAgICAgICBhbnlib2R5IGVsc2UgZm9y
IHRoZSByYXJlIGNhc2UgdGhhdCBzb21lYm9keSBkZWNpZGVzIHRvIGFsbG9jYXRlIGEgMC1sZW5n
dGggdHlwZWQgYXJyYXkuIAorICAgICAgICBJdCBhbHNvIG1ha2VzIHRoZSBhbGxvY2F0aW9uIGFu
ZCBjb3B5aW5nIGNhc2VzIGNvbnNpc3RlbnQgZm9yIENvcGllZFNwYWNlOiBubyAwLWJ5dGUgYWxs
b2NhdGlvbnMsIAorICAgICAgICBubyAwLWJ5dGUgY29weWluZy4KKworICAgICAgICBBbHNvIGFk
ZGVkIGEgY2hlY2sgc28gdGhhdCBKU0FycmF5QnVmZmVyVmlld3MgZG9uJ3QgdHJ5IHRvIGNvcHkg
dGhlaXIgbV92ZWN0b3IgYmFja2luZyBzdG9yZSB3aGVuIAorICAgICAgICB0aGVpciBsZW5ndGgg
aXMgMC4gQWxzbyBzcHJpbmtsZWQgc2V2ZXJhbCBBU1NFUlRzIHRocm91Z2hvdXQgdGhlIEpTQXJy
YXlCdWZmZXJWaWV3IGNvZGUgdG8gbWFrZSBzdXJlIHRoYXQgCisgICAgICAgIHdoZW4gbGVuZ3Ro
IGlzIDAgbV92ZWN0b3IgaXMgbnVsbC4KKworICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJ
VC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVOZXdUeXBl
ZEFycmF5KToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQuaDoKKyAgICAgICAgKEpT
Qzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6ZW1pdEFsbG9jYXRlQmFzaWNTdG9yYWdlKToKKyAgICAg
ICAgKiBoZWFwL0NvcGllZFNwYWNlSW5saW5lcy5oOgorICAgICAgICAoSlNDOjpDb3BpZWRTcGFj
ZTo6dHJ5QWxsb2NhdGUpOgorICAgICAgICAqIHJ1bnRpbWUvQXJyYXlCdWZmZXIuaDoKKyAgICAg
ICAgKEpTQzo6QXJyYXlCdWZmZXI6OmNyZWF0ZSk6CisgICAgICAgICogcnVudGltZS9KU0FycmF5
QnVmZmVyVmlldy5jcHA6CisgICAgICAgIChKU0M6OkpTQXJyYXlCdWZmZXJWaWV3OjpDb25zdHJ1
Y3Rpb25Db250ZXh0OjpDb25zdHJ1Y3Rpb25Db250ZXh0KToKKyAgICAgICAgKiBydW50aW1lL0pT
R2VuZXJpY1R5cGVkQXJyYXlWaWV3SW5saW5lcy5oOgorICAgICAgICAoSlNDOjo6OnZpc2l0Q2hp
bGRyZW4pOgorICAgICAgICAoSlNDOjo6OmNvcHlCYWNraW5nU3RvcmUpOgorICAgICAgICAoSlND
Ojo6OnNsb3dEb3duQW5kV2FzdGVNZW1vcnkpOgorCiAyMDEzLTExLTA0ICBKdWxpZW4gQnJpYW5j
ZWF1ICA8amJyaWFuY2VAY2lzY28uY29tPgogCiAgICAgICAgIFtzaDRdIFJlZmFjdG9yIGp1bXBz
IGluIGJhc2VsaW5lIEpJVCB0byByZXR1cm4gbGFiZWwgYWZ0ZXIgdGhlIGp1bXAuCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAkocmV2
aXNpb24gMTU4NTgwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2
ZUpJVC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ3MDksNiArNDcwOSw3IEBAIHZvaWQgU3BlY3Vs
YXRpdmVKSVQ6OmNvbXBpbGVOZXdUeXBlZEFycmEKIAogICAgIHNsb3dDYXNlcy5hcHBlbmQobV9q
aXQuYnJhbmNoMzIoCiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpBYm92ZSwgc2l6ZUdQUiwgVHJ1
c3RlZEltbTMyKEpTQXJyYXlCdWZmZXJWaWV3OjpmYXN0U2l6ZUxpbWl0KSkpOworICAgIHNsb3dD
YXNlcy5hcHBlbmQobV9qaXQuYnJhbmNoVGVzdDMyKE1hY3JvQXNzZW1ibGVyOjpaZXJvLCBzaXpl
R1BSKSk7CiAgICAgCiAgICAgbV9qaXQubW92ZShzaXplR1BSLCBzY3JhdGNoR1BSKTsKICAgICBt
X2ppdC5sc2hpZnQzMihUcnVzdGVkSW1tMzIobG9nRWxlbWVudFNpemUodHlwZSkpLCBzY3JhdGNo
R1BSKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZl
SklULmgJKHJldmlzaW9uIDE1ODU4MCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
U3BlY3VsYXRpdmVKSVQuaAkod29ya2luZyBjb3B5KQpAQCAtMjA1Miw3ICsyMDUyLDE1IEBAIHB1
YmxpYzoKICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBlbWl0QWxsb2NhdGVCYXNpY1N0b3JhZ2Uo
U2l6ZVR5cGUgc2l6ZSwgR1BSUmVnIHJlc3VsdEdQUikKICAgICB7CiAgICAgICAgIENvcGllZEFs
bG9jYXRvciogY29waWVkQWxsb2NhdG9yID0gJm1faml0LnZtKCktPmhlYXAuc3RvcmFnZUFsbG9j
YXRvcigpOwotICAgICAgICAKKworICAgICAgICAvLyBJdCdzIGludmFsaWQgdG8gYWxsb2NhdGUg
emVybyBieXRlcyBpbiBDb3BpZWRTcGFjZS4gCisjaWZuZGVmIE5ERUJVRworICAgICAgICBtX2pp
dC5tb3ZlKHNpemUsIHJlc3VsdEdQUik7CisgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpKdW1wIG5v
blplcm9TaXplID0gbV9qaXQuYnJhbmNoVGVzdDMyKE1hY3JvQXNzZW1ibGVyOjpOb25aZXJvLCBy
ZXN1bHRHUFIpOworICAgICAgICBtX2ppdC5icmVha3BvaW50KCk7CisgICAgICAgIG5vblplcm9T
aXplLmxpbmsoJm1faml0KTsKKyNlbmRpZgorCiAgICAgICAgIG1faml0LmxvYWRQdHIoJmNvcGll
ZEFsbG9jYXRvci0+bV9jdXJyZW50UmVtYWluaW5nLCByZXN1bHRHUFIpOwogICAgICAgICBNYWNy
b0Fzc2VtYmxlcjo6SnVtcCBzbG93UGF0aCA9IG1faml0LmJyYW5jaFN1YlB0cihKSVRDb21waWxl
cjo6U2lnbmVkLCBzaXplLCByZXN1bHRHUFIpOwogICAgICAgICBtX2ppdC5zdG9yZVB0cihyZXN1
bHRHUFIsICZjb3BpZWRBbGxvY2F0b3ItPm1fY3VycmVudFJlbWFpbmluZyk7CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaGVhcC9Db3BpZWRTcGFjZUlubGluZXMuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9Db3BpZWRTcGFjZUlubGluZXMuaAkocmV2aXNp
b24gMTU4NTgwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvQ29waWVkU3BhY2VJbmxp
bmVzLmgJKHdvcmtpbmcgY29weSkKQEAgLTE1MCw2ICsxNTAsNyBAQCBpbmxpbmUgdm9pZCBDb3Bp
ZWRTcGFjZTo6YWxsb2NhdGVCbG9jaygpCiBpbmxpbmUgQ2hlY2tlZEJvb2xlYW4gQ29waWVkU3Bh
Y2U6OnRyeUFsbG9jYXRlKHNpemVfdCBieXRlcywgdm9pZCoqIG91dFB0cikKIHsKICAgICBBU1NF
UlQoIW1faGVhcC0+dm0oKS0+aXNJbml0aWFsaXppbmdPYmplY3QoKSk7CisgICAgQVNTRVJUKGJ5
dGVzKTsKIAogICAgIGlmICghbV9hbGxvY2F0b3IudHJ5QWxsb2NhdGUoYnl0ZXMsIG91dFB0cikp
CiAgICAgICAgIHJldHVybiB0cnlBbGxvY2F0ZVNsb3dDYXNlKGJ5dGVzLCBvdXRQdHIpOwpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQXJyYXlCdWZmZXIuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUJ1ZmZlci5oCShyZXZpc2lv
biAxNTg1ODApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BcnJheUJ1ZmZlci5o
CSh3b3JraW5nIGNvcHkpCkBAIC0xNjAsNiArMTYwLDcgQEAgUGFzc1JlZlB0cjxBcnJheUJ1ZmZl
cj4gQXJyYXlCdWZmZXI6OmNyZQogICAgIGlmICghY29udGVudHMubV9kYXRhKQogICAgICAgICBy
ZXR1cm4gMDsKICAgICBSZWZQdHI8QXJyYXlCdWZmZXI+IGJ1ZmZlciA9IGFkb3B0UmVmKG5ldyBB
cnJheUJ1ZmZlcihjb250ZW50cykpOworICAgIEFTU0VSVCghYnl0ZUxlbmd0aCB8fCBzb3VyY2Up
OwogICAgIG1lbWNweShidWZmZXItPmRhdGEoKSwgc291cmNlLCBieXRlTGVuZ3RoKTsKICAgICBy
ZXR1cm4gYnVmZmVyLnJlbGVhc2UoKTsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTQXJyYXlCdWZmZXJWaWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9KU0FycmF5QnVmZmVyVmlldy5jcHAJKHJldmlzaW9uIDE1ODU4MCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTQXJyYXlCdWZmZXJWaWV3LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNDUsOSArNDUsMTAgQEAgSlNBcnJheUJ1ZmZlclZpZXc6OkNvbnN0
cnVjdGlvbkNvbnRleHQ6OgogewogICAgIGlmIChsZW5ndGggPD0gZmFzdFNpemVMaW1pdCkgewog
ICAgICAgICAvLyBBdHRlbXB0IEdDIGFsbG9jYXRpb24uCi0gICAgICAgIHZvaWQqIHRlbXA7Cisg
ICAgICAgIHZvaWQqIHRlbXAgPSAwOwogICAgICAgICBzaXplX3Qgc2l6ZSA9IHNpemVPZihsZW5n
dGgsIGVsZW1lbnRTaXplKTsKLSAgICAgICAgaWYgKCF2bS5oZWFwLnRyeUFsbG9jYXRlU3RvcmFn
ZSgwLCBzaXplLCAmdGVtcCkpCisgICAgICAgIC8vIENvcGllZFNwYWNlIG9ubHkgYWxsb3dzIG5v
bi16ZXJvIHNpemUgYWxsb2NhdGlvbnMuCisgICAgICAgIGlmIChzaXplICYmICF2bS5oZWFwLnRy
eUFsbG9jYXRlU3RvcmFnZSgwLCBzaXplLCAmdGVtcCkpCiAgICAgICAgICAgICByZXR1cm47CiAK
ICAgICAgICAgbV9zdHJ1Y3R1cmUgPSBzdHJ1Y3R1cmU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvcnVudGltZS9KU0dlbmVyaWNUeXBlZEFycmF5Vmlld0lubGluZXMuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0dlbmVyaWNUeXBlZEFycmF5Vmll
d0lubGluZXMuaAkocmV2aXNpb24gMTU4NTgwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvSlNHZW5lcmljVHlwZWRBcnJheVZpZXdJbmxpbmVzLmgJKHdvcmtpbmcgY29weSkKQEAg
LTQ0MSw3ICs0NDEsOCBAQCB2b2lkIEpTR2VuZXJpY1R5cGVkQXJyYXlWaWV3PEFkYXB0b3I+Ojp2
CiAgICAgCiAgICAgc3dpdGNoICh0aGlzT2JqZWN0LT5tX21vZGUpIHsKICAgICBjYXNlIEZhc3RU
eXBlZEFycmF5OiB7Ci0gICAgICAgIHZpc2l0b3IuY29weUxhdGVyKHRoaXNPYmplY3QsIFR5cGVk
QXJyYXlWZWN0b3JDb3B5VG9rZW4sIHRoaXNPYmplY3QtPm1fdmVjdG9yLCB0aGlzT2JqZWN0LT5i
eXRlU2l6ZSgpKTsKKyAgICAgICAgaWYgKHRoaXNPYmplY3QtPm1fdmVjdG9yKQorICAgICAgICAg
ICAgdmlzaXRvci5jb3B5TGF0ZXIodGhpc09iamVjdCwgVHlwZWRBcnJheVZlY3RvckNvcHlUb2tl
biwgdGhpc09iamVjdC0+bV92ZWN0b3IsIHRoaXNPYmplY3QtPmJ5dGVTaXplKCkpOwogICAgICAg
ICBicmVhazsKICAgICB9CiAgICAgICAgIApAQCAtNDY5LDYgKzQ3MCw3IEBAIHZvaWQgSlNHZW5l
cmljVHlwZWRBcnJheVZpZXc8QWRhcHRvcj46OmMKICAgICAKICAgICBpZiAodG9rZW4gPT0gVHlw
ZWRBcnJheVZlY3RvckNvcHlUb2tlbgogICAgICAgICAmJiB2aXNpdG9yLmNoZWNrSWZTaG91bGRD
b3B5KHRoaXNPYmplY3QtPm1fdmVjdG9yKSkgeworICAgICAgICBBU1NFUlQodGhpc09iamVjdC0+
bV92ZWN0b3IpOwogICAgICAgICB2b2lkKiBvbGRWZWN0b3IgPSB0aGlzT2JqZWN0LT5tX3ZlY3Rv
cjsKICAgICAgICAgdm9pZCogbmV3VmVjdG9yID0gdmlzaXRvci5hbGxvY2F0ZU5ld1NwYWNlKHRo
aXNPYmplY3QtPmJ5dGVTaXplKCkpOwogICAgICAgICBtZW1jcHkobmV3VmVjdG9yLCBvbGRWZWN0
b3IsIHRoaXNPYmplY3QtPmJ5dGVTaXplKCkpOwpAQCAtNTA1LDYgKzUwNyw3IEBAIEFycmF5QnVm
ZmVyKiBKU0dlbmVyaWNUeXBlZEFycmF5VmlldzxBZGEKICAgICAKICAgICBpZiAodGhpc09iamVj
dC0+bV9tb2RlID09IEZhc3RUeXBlZEFycmF5CiAgICAgICAgICYmICF0aGlzT2JqZWN0LT5tX2J1
dHRlcmZseSAmJiBzaXplID49IHNpemVvZihJbmRleGluZ0hlYWRlcikpIHsKKyAgICAgICAgQVNT
RVJUKHRoaXNPYmplY3QtPm1fdmVjdG9yKTsKICAgICAgICAgLy8gUmV1c2UgYWxyZWFkeSBhbGxv
Y2F0ZWQgbWVtb3J5IGlmIGF0IGFsbCBwb3NzaWJsZS4KICAgICAgICAgdGhpc09iamVjdC0+bV9i
dXR0ZXJmbHkgPQogICAgICAgICAgICAgc3RhdGljX2Nhc3Q8SW5kZXhpbmdIZWFkZXIqPih0aGlz
T2JqZWN0LT5tX3ZlY3RvciktPmJ1dHRlcmZseSgpOwo=
</data>
<flag name="review"
          id="238803"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>