<?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>77715</bug_id>
          
          <creation_ts>2012-02-02 22:19:15 -0800</creation_ts>
          <short_desc>SharedBuffer m_segments and m_dataArray must be exclusive</short_desc>
          <delta_ts>2013-08-29 11:00:43 -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>Page Loading</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Benjamin Poulain">benjamin</reporter>
          <assigned_to name="Pratik Solanki">psolanki</assigned_to>
          <cc>ddkilzer</cc>
    
    <cc>psolanki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>548451</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-02-02 22:19:15 -0800</bug_when>
    <thetext>There is a clear order and size relation between m_buffer and m_segments.

With m_dataArray, there is the implicit rule that m_dataArray comes after m_buffer and m_segments, and all segments are completely full.

In practice, we never mix m_dataArray and m_segments (well, I hope at least) which is why that works.

We should make those relations explicit.

Related to:
&lt;rdar://problem/10801705&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>549286</commentid>
    <comment_count>1</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-02-03 17:46:37 -0800</bug_when>
    <thetext>&lt;rdar://problem/10808108&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>770961</commentid>
    <comment_count>2</comment_count>
    <who name="Pratik Solanki">psolanki</who>
    <bug_when>2012-11-19 12:56:25 -0800</bug_when>
    <thetext>Updating title. m_buffer is still needed even with data array. Also taking bug since I have a patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>779417</commentid>
    <comment_count>3</comment_count>
      <attachid>176814</attachid>
    <who name="Pratik Solanki">psolanki</who>
    <bug_when>2012-11-29 13:59:55 -0800</bug_when>
    <thetext>Created attachment 176814
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>884270</commentid>
    <comment_count>4</comment_count>
      <attachid>200453</attachid>
    <who name="Pratik Solanki">psolanki</who>
    <bug_when>2013-05-03 12:05:44 -0700</bug_when>
    <thetext>Created attachment 200453
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>884429</commentid>
    <comment_count>5</comment_count>
      <attachid>200453</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-05-03 16:06:00 -0700</bug_when>
    <thetext>Comment on attachment 200453
Patch

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

&gt; Source/WebCore/platform/SharedBuffer.cpp:211
&gt; +        m_buffer.reserveInitialCapacity(length);

I don&apos;t think that matters. The append() call has the size, it will allocate the best block size for the input.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>884436</commentid>
    <comment_count>6</comment_count>
      <attachid>200453</attachid>
    <who name="Pratik Solanki">psolanki</who>
    <bug_when>2013-05-03 16:33:04 -0700</bug_when>
    <thetext>Comment on attachment 200453
Patch

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

&gt;&gt; Source/WebCore/platform/SharedBuffer.cpp:211
&gt;&gt; +        m_buffer.reserveInitialCapacity(length);
&gt; 
&gt; I don&apos;t think that matters. The append() call has the size, it will allocate the best block size for the input.

That change was inspired by &lt;http://trac.webkit.org/changeset/135098&gt; made for bug 102625</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>922268</commentid>
    <comment_count>7</comment_count>
    <who name="Pratik Solanki">psolanki</who>
    <bug_when>2013-08-28 17:13:13 -0700</bug_when>
    <thetext>Hmm.. Looks like I never checked this in. :( I am going to rebase the patch, make sure it works and maybe upload a new one for review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>922277</commentid>
    <comment_count>8</comment_count>
    <who name="Pratik Solanki">psolanki</who>
    <bug_when>2013-08-28 17:50:19 -0700</bug_when>
    <thetext>Looks like the patch compiles and runs fine with USE(NETWORK_CFDATA_ARRAY_CALLBACK) disabled. If it works fine with the flag turned on, I&apos;ll just go ahead and commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>922558</commentid>
    <comment_count>9</comment_count>
    <who name="Pratik Solanki">psolanki</who>
    <bug_when>2013-08-29 11:00:43 -0700</bug_when>
    <thetext>Committed r154823: &lt;http://trac.webkit.org/changeset/154823&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>176814</attachid>
            <date>2012-11-29 13:59:55 -0800</date>
            <delta_ts>2013-05-03 12:05:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-77715-20121129135728.patch</filename>
            <type>text/plain</type>
            <size>6280</size>
            <attacher name="Pratik Solanki">psolanki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM2MTYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjhkZTdkOTIxMWU3YjYw
MTZiODUyMWQ4ZDRiMjk4MWNlYmQwZGU2OS4uODQyZTFiYzEzMjI1NmI3NjVjY2EzMGYzMjY0YTM0
ZGIzMmYwZGFjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTExLTI5ICBQcmF0
aWsgU29sYW5raSAgPHByYXRpay5zb2xhbmtpQGdtYWlsLmNvbT4KKworICAgICAgICBTaGFyZWRC
dWZmZXIgbV9zZWdtZW50cyBhbmQgbV9kYXRhQXJyYXkgbXVzdCBiZSBleGNsdXNpdmUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3NzE1CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hlbiBVU0UoTkVUV09S
S19DRkRBVEFfQVJSQVlfQ0FMTEJBQ0spIGlzIGVuYWJsZWQsIHdlIHVzZSBtX2RhdGFBcnJheSB0
byBob2xkIHRoZSBpbmNvbWluZworICAgICAgICBkYXRhLiBXZSBkbyBub3QgdXNlIG1fc2VnbWVu
dHMuIFNpbmNlIHRoZXkgYXJlIGV4Y2x1c2l2ZSBpbiBwcmFjdGljZSwgZG8gbm90IGRlZmluZSBv
ciB1c2UKKyAgICAgICAgbV9zZWdtZW50cyB3aGVuIE5FVFdPUktfQ0ZEQVRBX0FSUkFZX0NBTExC
QUNLIGlzIGVuYWJsZWQuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIGJlY2F1c2Ugbm8gZnVuY3Rp
b25hbCBjaGFuZ2VzLgorCisgICAgICAgICogcGxhdGZvcm0vU2hhcmVkQnVmZmVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcjo6YXBwZW5kKToKKyAgICAgICAgKFdlYkNvcmU6
OlNoYXJlZEJ1ZmZlcjo6Y2xlYXIpOgorICAgICAgICAoV2ViQ29yZTo6U2hhcmVkQnVmZmVyOjpj
b3B5KToKKyAgICAgICAgKFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcjo6YnVmZmVyKToKKyAgICAgICAg
KFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcjo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAoV2Vi
Q29yZTo6U2hhcmVkQnVmZmVyOjpnZXRTb21lRGF0YSk6CisgICAgICAgICogcGxhdGZvcm0vU2hh
cmVkQnVmZmVyLmg6CisKIDIwMTItMTEtMjkgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNvbkBp
Z2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIFtXZWJLaXQyXSBFbWJlZCB0aGUgSFRUUCBhdXRo
ZW50aWNhdGlvbiBkaWFsb2cgaW50byB0aGUgV2ViVmlldwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vU2hhcmVkQnVmZmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1NoYXJlZEJ1ZmZlci5jcHAKaW5kZXggMzYyY2VhZmQ2ZmNkZDgzZjJmOGJkZTFmYmZiZjIzZTk5
NWExOTYzOC4uNGY2MzQ3MDk4M2ZhYzcxMzc1YTA2OTJjY2QxZWE1ODU1MzBhNTNlZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVkQnVmZmVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9TaGFyZWRCdWZmZXIuY3BwCkBAIC0xNzMsNyArMTczLDggQEAg
dm9pZCBTaGFyZWRCdWZmZXI6OmFwcGVuZChjb25zdCBjaGFyKiBkYXRhLCB1bnNpZ25lZCBsZW5n
dGgpCiAgICAgICAgIHJldHVybjsKIAogICAgIG1heWJlVHJhbnNmZXJQbGF0Zm9ybURhdGEoKTsK
LSAgICAKKworI2lmICFVU0UoTkVUV09SS19DRkRBVEFfQVJSQVlfQ0FMTEJBQ0spCiAgICAgdW5z
aWduZWQgcG9zaXRpb25JblNlZ21lbnQgPSBvZmZzZXRJblNlZ21lbnQobV9zaXplIC0gbV9idWZm
ZXIuc2l6ZSgpKTsKICAgICBtX3NpemUgKz0gbGVuZ3RoOwogCkBAIC0yMDYsNiArMjA3LDEyIEBA
IHZvaWQgU2hhcmVkQnVmZmVyOjphcHBlbmQoY29uc3QgY2hhciogZGF0YSwgdW5zaWduZWQgbGVu
Z3RoKQogICAgICAgICBtX3NlZ21lbnRzLmFwcGVuZChzZWdtZW50KTsKICAgICAgICAgYnl0ZXNU
b0NvcHkgPSBtaW4obGVuZ3RoLCBzZWdtZW50U2l6ZSk7CiAgICAgfQorI2Vsc2UKKyAgICBtX3Np
emUgKz0gbGVuZ3RoOworICAgIGlmIChtX2J1ZmZlci5pc0VtcHR5KCkpCisgICAgICAgIG1fYnVm
ZmVyLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkobGVuZ3RoKTsKKyAgICBtX2J1ZmZlci5hcHBlbmQo
ZGF0YSwgbGVuZ3RoKTsKKyNlbmRpZgogfQogCiB2b2lkIFNoYXJlZEJ1ZmZlcjo6YXBwZW5kKGNv
bnN0IFZlY3RvcjxjaGFyPiYgZGF0YSkKQEAgLTIxNywxNyArMjI0LDE4IEBAIHZvaWQgU2hhcmVk
QnVmZmVyOjpjbGVhcigpCiB7CiAgICAgY2xlYXJQbGF0Zm9ybURhdGEoKTsKICAgICAKKyNpZiAh
VVNFKE5FVFdPUktfQ0ZEQVRBX0FSUkFZX0NBTExCQUNLKQogICAgIGZvciAodW5zaWduZWQgaSA9
IDA7IGkgPCBtX3NlZ21lbnRzLnNpemUoKTsgKytpKQogICAgICAgICBmcmVlU2VnbWVudChtX3Nl
Z21lbnRzW2ldKTsKIAogICAgIG1fc2VnbWVudHMuY2xlYXIoKTsKLSAgICBtX3NpemUgPSAwOwor
I2Vsc2UKKyAgICBtX2RhdGFBcnJheS5jbGVhcigpOworI2VuZGlmCiAKKyAgICBtX3NpemUgPSAw
OwogICAgIG1fYnVmZmVyLmNsZWFyKCk7CiAgICAgbV9wdXJnZWFibGVCdWZmZXIuY2xlYXIoKTsK
LSNpZiBVU0UoTkVUV09SS19DRkRBVEFfQVJSQVlfQ0FMTEJBQ0spCi0gICAgbV9kYXRhQXJyYXku
Y2xlYXIoKTsKLSNlbmRpZgogfQogCiBQYXNzUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gU2hhcmVkQnVm
ZmVyOjpjb3B5KCkgY29uc3QKQEAgLTI0MSw4ICsyNDksMTMgQEAgUGFzc1JlZlB0cjxTaGFyZWRC
dWZmZXI+IFNoYXJlZEJ1ZmZlcjo6Y29weSgpIGNvbnN0CiAgICAgY2xvbmUtPm1fc2l6ZSA9IG1f
c2l6ZTsKICAgICBjbG9uZS0+bV9idWZmZXIucmVzZXJ2ZUNhcGFjaXR5KG1fc2l6ZSk7CiAgICAg
Y2xvbmUtPm1fYnVmZmVyLmFwcGVuZChtX2J1ZmZlci5kYXRhKCksIG1fYnVmZmVyLnNpemUoKSk7
CisjaWYgIVVTRShORVRXT1JLX0NGREFUQV9BUlJBWV9DQUxMQkFDSykKICAgICBmb3IgKHVuc2ln
bmVkIGkgPSAwOyBpIDwgbV9zZWdtZW50cy5zaXplKCk7ICsraSkKICAgICAgICAgY2xvbmUtPm1f
YnVmZmVyLmFwcGVuZChtX3NlZ21lbnRzW2ldLCBzZWdtZW50U2l6ZSk7CisjZWxzZQorICAgIGZv
ciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX2RhdGFBcnJheS5zaXplKCk7ICsraSkKKyAgICAgICAg
Y2xvbmUtPmFwcGVuZChtX2RhdGFBcnJheVtpXS5nZXQoKSk7CisjZW5kaWYKICAgICByZXR1cm4g
Y2xvbmU7CiB9CiAKQEAgLTI1OSw2ICsyNzIsNyBAQCBjb25zdCBWZWN0b3I8Y2hhcj4mIFNoYXJl
ZEJ1ZmZlcjo6YnVmZmVyKCkgY29uc3QKICAgICAgICAgbV9idWZmZXIucmVzaXplKG1fc2l6ZSk7
CiAgICAgICAgIGNoYXIqIGRlc3RpbmF0aW9uID0gbV9idWZmZXIuZGF0YSgpICsgYnVmZmVyU2l6
ZTsKICAgICAgICAgdW5zaWduZWQgYnl0ZXNMZWZ0ID0gbV9zaXplIC0gYnVmZmVyU2l6ZTsKKyNp
ZiAhVVNFKE5FVFdPUktfQ0ZEQVRBX0FSUkFZX0NBTExCQUNLKQogICAgICAgICBmb3IgKHVuc2ln
bmVkIGkgPSAwOyBpIDwgbV9zZWdtZW50cy5zaXplKCk7ICsraSkgewogICAgICAgICAgICAgdW5z
aWduZWQgYnl0ZXNUb0NvcHkgPSBtaW4oYnl0ZXNMZWZ0LCBzZWdtZW50U2l6ZSk7CiAgICAgICAg
ICAgICBtZW1jcHkoZGVzdGluYXRpb24sIG1fc2VnbWVudHNbaV0sIGJ5dGVzVG9Db3B5KTsKQEAg
LTI2Nyw3ICsyODEsNyBAQCBjb25zdCBWZWN0b3I8Y2hhcj4mIFNoYXJlZEJ1ZmZlcjo6YnVmZmVy
KCkgY29uc3QKICAgICAgICAgICAgIGZyZWVTZWdtZW50KG1fc2VnbWVudHNbaV0pOwogICAgICAg
ICB9CiAgICAgICAgIG1fc2VnbWVudHMuY2xlYXIoKTsKLSNpZiBVU0UoTkVUV09SS19DRkRBVEFf
QVJSQVlfQ0FMTEJBQ0spCisjZWxzZQogICAgICAgICBjb3B5RGF0YUFycmF5QW5kQ2xlYXIoZGVz
dGluYXRpb24sIGJ5dGVzTGVmdCk7CiAjZW5kaWYKICAgICB9CkBAIC0yNzgsOSArMjkyLDE0IEBA
IHZvaWQgU2hhcmVkQnVmZmVyOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBt
ZW1vcnlPYmplY3RJbmZvKSBjb25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9y
eU9iamVjdEluZm8sIHRoaXMpOwogICAgIGluZm8uYWRkTWVtYmVyKG1fYnVmZmVyKTsKKyNpZiAh
VVNFKE5FVFdPUktfQ0ZEQVRBX0FSUkFZX0NBTExCQUNLKQogICAgIGluZm8uYWRkTWVtYmVyKG1f
c2VnbWVudHMpOwogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX3NlZ21lbnRzLnNpemUo
KTsgKytpKQogICAgICAgICBpbmZvLmFkZFJhd0J1ZmZlcihtX3NlZ21lbnRzW2ldLCBzZWdtZW50
U2l6ZSk7CisjZWxzZQorICAgIGluZm8uYWRkTWVtYmVyKG1fZGF0YUFycmF5KTsKKyAgICAvLyBG
SVhNRTogQWRkIGRhdGEgYXJyYXkgZWxlbWVudHMuCisjZW5kaWYKICAgICBpbmZvLmFkZE1lbWJl
cihtX3B1cmdlYWJsZUJ1ZmZlci5nZXQoKSk7CiB9CiAKQEAgLTMwNiw2ICszMjUsNyBAQCB1bnNp
Z25lZCBTaGFyZWRCdWZmZXI6OmdldFNvbWVEYXRhKGNvbnN0IGNoYXIqJiBzb21lRGF0YSwgdW5z
aWduZWQgcG9zaXRpb24pIGNvbgogICAgIH0KICAKICAgICBwb3NpdGlvbiAtPSBjb25zZWN1dGl2
ZVNpemU7CisjaWYgIVVTRShORVRXT1JLX0NGREFUQV9BUlJBWV9DQUxMQkFDSykKICAgICB1bnNp
Z25lZCBzZWdtZW50cyA9IG1fc2VnbWVudHMuc2l6ZSgpOwogICAgIHVuc2lnbmVkIG1heFNlZ21l
bnRlZFNpemUgPSBzZWdtZW50cyAqIHNlZ21lbnRTaXplOwogICAgIHVuc2lnbmVkIHNlZ21lbnQg
PSBzZWdtZW50SW5kZXgocG9zaXRpb24pOwpAQCAtMzE3LDEzICszMzcsMTAgQEAgdW5zaWduZWQg
U2hhcmVkQnVmZmVyOjpnZXRTb21lRGF0YShjb25zdCBjaGFyKiYgc29tZURhdGEsIHVuc2lnbmVk
IHBvc2l0aW9uKSBjb24KICAgICAgICAgc29tZURhdGEgPSBtX3NlZ21lbnRzW3NlZ21lbnRdICsg
cG9zaXRpb25JblNlZ21lbnQ7CiAgICAgICAgIHJldHVybiBzZWdtZW50ID09IHNlZ21lbnRzIC0g
MSA/IHNlZ21lbnRlZFNpemUgLSBwb3NpdGlvbiA6IHNlZ21lbnRTaXplIC0gcG9zaXRpb25JblNl
Z21lbnQ7CiAgICAgfQotI2lmIFVTRShORVRXT1JLX0NGREFUQV9BUlJBWV9DQUxMQkFDSykKLSAg
ICBBU1NFUlQobWF4U2VnbWVudGVkU2l6ZSA8PSBwb3NpdGlvbik7Ci0gICAgcG9zaXRpb24gLT0g
bWF4U2VnbWVudGVkU2l6ZTsKLSAgICByZXR1cm4gY29weVNvbWVEYXRhRnJvbURhdGFBcnJheShz
b21lRGF0YSwgcG9zaXRpb24pOwotI2Vsc2UKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAg
ICByZXR1cm4gMDsKKyNlbHNlCisgICAgcmV0dXJuIGNvcHlTb21lRGF0YUZyb21EYXRhQXJyYXko
c29tZURhdGEsIHBvc2l0aW9uKTsKICNlbmRpZgogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9TaGFyZWRCdWZmZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1No
YXJlZEJ1ZmZlci5oCmluZGV4IDMyZTcxYWYxZjk5YzNmMmFjMjhjYjdiZDNmOWUyYmY0MmQ0NWRl
NzAuLjkyODMxZjM5ODg4NGE4NGZmYzg5MjAwZmM3ZjVhNzQ4NTkwZWVhZDcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NoYXJlZEJ1ZmZlci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1NoYXJlZEJ1ZmZlci5oCkBAIC0xMzcsMTMgKzEzNywxNCBAQCBwcml2YXRl
OgogICAgIAogICAgIHVuc2lnbmVkIG1fc2l6ZTsKICAgICBtdXRhYmxlIFZlY3RvcjxjaGFyPiBt
X2J1ZmZlcjsKLSAgICBtdXRhYmxlIFZlY3RvcjxjaGFyKj4gbV9zZWdtZW50czsKICAgICBtdXRh
YmxlIE93blB0cjxQdXJnZWFibGVCdWZmZXI+IG1fcHVyZ2VhYmxlQnVmZmVyOwogI2lmIFVTRShO
RVRXT1JLX0NGREFUQV9BUlJBWV9DQUxMQkFDSykKICAgICBtdXRhYmxlIFZlY3RvcjxSZXRhaW5Q
dHI8Q0ZEYXRhUmVmPiA+IG1fZGF0YUFycmF5OwogICAgIHZvaWQgY29weURhdGFBcnJheUFuZENs
ZWFyKGNoYXIgKmRlc3RpbmF0aW9uLCB1bnNpZ25lZCBieXRlc1RvQ29weSkgY29uc3Q7CiAgICAg
dW5zaWduZWQgY29weVNvbWVEYXRhRnJvbURhdGFBcnJheShjb25zdCBjaGFyKiYgc29tZURhdGEs
IHVuc2lnbmVkIHBvc2l0aW9uKSBjb25zdDsKICAgICBjb25zdCBjaGFyICpzaW5nbGVEYXRhQXJy
YXlCdWZmZXIoKSBjb25zdDsKKyNlbHNlCisgICAgbXV0YWJsZSBWZWN0b3I8Y2hhcio+IG1fc2Vn
bWVudHM7CiAjZW5kaWYKICNpZiBVU0UoQ0YpCiAgICAgZXhwbGljaXQgU2hhcmVkQnVmZmVyKENG
RGF0YVJlZik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>200453</attachid>
            <date>2013-05-03 12:05:44 -0700</date>
            <delta_ts>2013-05-03 16:33:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-77715-20130503120454.patch</filename>
            <type>text/plain</type>
            <size>5707</size>
            <attacher name="Pratik Solanki">psolanki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ5NDkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjM0Y2RkZGJlOWY3Y2Qz
YmY3ZWMwNTNkNGY0ZTMzNTFlNzhmNWZhOS4uMTE3ZjI1NjlkN2M1OGFhNTZlODkxMzYzZDUwNDU5
Njk5MTNjOTVkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEzLTA1LTAyICBQcmF0
aWsgU29sYW5raSAgPHByYXRpay5zb2xhbmtpQGdtYWlsLmNvbT4KKworICAgICAgICBTaGFyZWRC
dWZmZXIgbV9zZWdtZW50cyBhbmQgbV9kYXRhQXJyYXkgbXVzdCBiZSBleGNsdXNpdmUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3NzE1CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2hlbiBVU0UoTkVUV09S
S19DRkRBVEFfQVJSQVlfQ0FMTEJBQ0spIGlzIGVuYWJsZWQsIHdlIHVzZSBtX2RhdGFBcnJheSB0
byBob2xkIHRoZSBpbmNvbWluZworICAgICAgICBkYXRhLiBXZSBkbyBub3QgdXNlIG1fc2VnbWVu
dHMuIFNpbmNlIHRoZXkgYXJlIGV4Y2x1c2l2ZSBpbiBwcmFjdGljZSwgZG8gbm90IGRlZmluZSBv
ciB1c2UKKyAgICAgICAgbV9zZWdtZW50cyB3aGVuIE5FVFdPUktfQ0ZEQVRBX0FSUkFZX0NBTExC
QUNLIGlzIGVuYWJsZWQuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIGJlY2F1c2Ugbm8gZnVuY3Rp
b25hbCBjaGFuZ2VzLgorCisgICAgICAgICogcGxhdGZvcm0vU2hhcmVkQnVmZmVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcjo6YXBwZW5kKToKKyAgICAgICAgKFdlYkNvcmU6
OlNoYXJlZEJ1ZmZlcjo6Y2xlYXIpOgorICAgICAgICAoV2ViQ29yZTo6U2hhcmVkQnVmZmVyOjpj
b3B5KToKKyAgICAgICAgKFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcjo6YnVmZmVyKToKKyAgICAgICAg
KFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcjo6Z2V0U29tZURhdGEpOgorICAgICAgICAqIHBsYXRmb3Jt
L1NoYXJlZEJ1ZmZlci5oOgorCiAyMDEzLTA1LTAxICBFbnJpY2EgQ2FzdWNjaSAgPGVucmljYUBh
cHBsZS5jb20+CiAKICAgICAgICAgdGV4dC1jb21iaW5lOiBob3Jpem9udGFsIGRvZXMgbm90IHdv
cmsgcHJvcGVybHkgZm9yIHNvbWUgZm9udHMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9TaGFyZWRCdWZmZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2hhcmVk
QnVmZmVyLmNwcAppbmRleCAxNDI5ZDZkNjI1ZWJjOTQyYjBiMzYwMzdkYzJlYmNjNTVmMWRhYjRj
Li4zMzg0NTE1OWMwNzZiZTNjYjIxZmJmZWI1MzdkZDUxODUzY2IzOWUwIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TaGFyZWRCdWZmZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1NoYXJlZEJ1ZmZlci5jcHAKQEAgLTE3MSw3ICsxNzEsOCBAQCB2b2lkIFNo
YXJlZEJ1ZmZlcjo6YXBwZW5kKGNvbnN0IGNoYXIqIGRhdGEsIHVuc2lnbmVkIGxlbmd0aCkKICAg
ICAgICAgcmV0dXJuOwogCiAgICAgbWF5YmVUcmFuc2ZlclBsYXRmb3JtRGF0YSgpOwotICAgIAor
CisjaWYgIVVTRShORVRXT1JLX0NGREFUQV9BUlJBWV9DQUxMQkFDSykKICAgICB1bnNpZ25lZCBw
b3NpdGlvbkluU2VnbWVudCA9IG9mZnNldEluU2VnbWVudChtX3NpemUgLSBtX2J1ZmZlci5zaXpl
KCkpOwogICAgIG1fc2l6ZSArPSBsZW5ndGg7CiAKQEAgLTIwNCw2ICsyMDUsMTIgQEAgdm9pZCBT
aGFyZWRCdWZmZXI6OmFwcGVuZChjb25zdCBjaGFyKiBkYXRhLCB1bnNpZ25lZCBsZW5ndGgpCiAg
ICAgICAgIG1fc2VnbWVudHMuYXBwZW5kKHNlZ21lbnQpOwogICAgICAgICBieXRlc1RvQ29weSA9
IG1pbihsZW5ndGgsIHNlZ21lbnRTaXplKTsKICAgICB9CisjZWxzZQorICAgIG1fc2l6ZSArPSBs
ZW5ndGg7CisgICAgaWYgKG1fYnVmZmVyLmlzRW1wdHkoKSkKKyAgICAgICAgbV9idWZmZXIucmVz
ZXJ2ZUluaXRpYWxDYXBhY2l0eShsZW5ndGgpOworICAgIG1fYnVmZmVyLmFwcGVuZChkYXRhLCBs
ZW5ndGgpOworI2VuZGlmCiB9CiAKIHZvaWQgU2hhcmVkQnVmZmVyOjphcHBlbmQoY29uc3QgVmVj
dG9yPGNoYXI+JiBkYXRhKQpAQCAtMjE1LDE3ICsyMjIsMTggQEAgdm9pZCBTaGFyZWRCdWZmZXI6
OmNsZWFyKCkKIHsKICAgICBjbGVhclBsYXRmb3JtRGF0YSgpOwogICAgIAorI2lmICFVU0UoTkVU
V09SS19DRkRBVEFfQVJSQVlfQ0FMTEJBQ0spCiAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8
IG1fc2VnbWVudHMuc2l6ZSgpOyArK2kpCiAgICAgICAgIGZyZWVTZWdtZW50KG1fc2VnbWVudHNb
aV0pOwogCiAgICAgbV9zZWdtZW50cy5jbGVhcigpOwotICAgIG1fc2l6ZSA9IDA7CisjZWxzZQor
ICAgIG1fZGF0YUFycmF5LmNsZWFyKCk7CisjZW5kaWYKIAorICAgIG1fc2l6ZSA9IDA7CiAgICAg
bV9idWZmZXIuY2xlYXIoKTsKICAgICBtX3B1cmdlYWJsZUJ1ZmZlci5jbGVhcigpOwotI2lmIFVT
RShORVRXT1JLX0NGREFUQV9BUlJBWV9DQUxMQkFDSykKLSAgICBtX2RhdGFBcnJheS5jbGVhcigp
OwotI2VuZGlmCiB9CiAKIFBhc3NSZWZQdHI8U2hhcmVkQnVmZmVyPiBTaGFyZWRCdWZmZXI6OmNv
cHkoKSBjb25zdApAQCAtMjM5LDggKzI0NywxMyBAQCBQYXNzUmVmUHRyPFNoYXJlZEJ1ZmZlcj4g
U2hhcmVkQnVmZmVyOjpjb3B5KCkgY29uc3QKICAgICBjbG9uZS0+bV9zaXplID0gbV9zaXplOwog
ICAgIGNsb25lLT5tX2J1ZmZlci5yZXNlcnZlQ2FwYWNpdHkobV9zaXplKTsKICAgICBjbG9uZS0+
bV9idWZmZXIuYXBwZW5kKG1fYnVmZmVyLmRhdGEoKSwgbV9idWZmZXIuc2l6ZSgpKTsKKyNpZiAh
VVNFKE5FVFdPUktfQ0ZEQVRBX0FSUkFZX0NBTExCQUNLKQogICAgIGZvciAodW5zaWduZWQgaSA9
IDA7IGkgPCBtX3NlZ21lbnRzLnNpemUoKTsgKytpKQogICAgICAgICBjbG9uZS0+bV9idWZmZXIu
YXBwZW5kKG1fc2VnbWVudHNbaV0sIHNlZ21lbnRTaXplKTsKKyNlbHNlCisgICAgZm9yICh1bnNp
Z25lZCBpID0gMDsgaSA8IG1fZGF0YUFycmF5LnNpemUoKTsgKytpKQorICAgICAgICBjbG9uZS0+
YXBwZW5kKG1fZGF0YUFycmF5W2ldLmdldCgpKTsKKyNlbmRpZgogICAgIHJldHVybiBjbG9uZTsK
IH0KIApAQCAtMjU3LDYgKzI3MCw3IEBAIGNvbnN0IFZlY3RvcjxjaGFyPiYgU2hhcmVkQnVmZmVy
OjpidWZmZXIoKSBjb25zdAogICAgICAgICBtX2J1ZmZlci5yZXNpemUobV9zaXplKTsKICAgICAg
ICAgY2hhciogZGVzdGluYXRpb24gPSBtX2J1ZmZlci5kYXRhKCkgKyBidWZmZXJTaXplOwogICAg
ICAgICB1bnNpZ25lZCBieXRlc0xlZnQgPSBtX3NpemUgLSBidWZmZXJTaXplOworI2lmICFVU0Uo
TkVUV09SS19DRkRBVEFfQVJSQVlfQ0FMTEJBQ0spCiAgICAgICAgIGZvciAodW5zaWduZWQgaSA9
IDA7IGkgPCBtX3NlZ21lbnRzLnNpemUoKTsgKytpKSB7CiAgICAgICAgICAgICB1bnNpZ25lZCBi
eXRlc1RvQ29weSA9IG1pbihieXRlc0xlZnQsIHNlZ21lbnRTaXplKTsKICAgICAgICAgICAgIG1l
bWNweShkZXN0aW5hdGlvbiwgbV9zZWdtZW50c1tpXSwgYnl0ZXNUb0NvcHkpOwpAQCAtMjY1LDcg
KzI3OSw3IEBAIGNvbnN0IFZlY3RvcjxjaGFyPiYgU2hhcmVkQnVmZmVyOjpidWZmZXIoKSBjb25z
dAogICAgICAgICAgICAgZnJlZVNlZ21lbnQobV9zZWdtZW50c1tpXSk7CiAgICAgICAgIH0KICAg
ICAgICAgbV9zZWdtZW50cy5jbGVhcigpOwotI2lmIFVTRShORVRXT1JLX0NGREFUQV9BUlJBWV9D
QUxMQkFDSykKKyNlbHNlCiAgICAgICAgIGNvcHlEYXRhQXJyYXlBbmRDbGVhcihkZXN0aW5hdGlv
biwgYnl0ZXNMZWZ0KTsKICNlbmRpZgogICAgIH0KQEAgLTI5NCw2ICszMDgsNyBAQCB1bnNpZ25l
ZCBTaGFyZWRCdWZmZXI6OmdldFNvbWVEYXRhKGNvbnN0IGNoYXIqJiBzb21lRGF0YSwgdW5zaWdu
ZWQgcG9zaXRpb24pIGNvbgogICAgIH0KICAKICAgICBwb3NpdGlvbiAtPSBjb25zZWN1dGl2ZVNp
emU7CisjaWYgIVVTRShORVRXT1JLX0NGREFUQV9BUlJBWV9DQUxMQkFDSykKICAgICB1bnNpZ25l
ZCBzZWdtZW50cyA9IG1fc2VnbWVudHMuc2l6ZSgpOwogICAgIHVuc2lnbmVkIG1heFNlZ21lbnRl
ZFNpemUgPSBzZWdtZW50cyAqIHNlZ21lbnRTaXplOwogICAgIHVuc2lnbmVkIHNlZ21lbnQgPSBz
ZWdtZW50SW5kZXgocG9zaXRpb24pOwpAQCAtMzA1LDEzICszMjAsMTAgQEAgdW5zaWduZWQgU2hh
cmVkQnVmZmVyOjpnZXRTb21lRGF0YShjb25zdCBjaGFyKiYgc29tZURhdGEsIHVuc2lnbmVkIHBv
c2l0aW9uKSBjb24KICAgICAgICAgc29tZURhdGEgPSBtX3NlZ21lbnRzW3NlZ21lbnRdICsgcG9z
aXRpb25JblNlZ21lbnQ7CiAgICAgICAgIHJldHVybiBzZWdtZW50ID09IHNlZ21lbnRzIC0gMSA/
IHNlZ21lbnRlZFNpemUgLSBwb3NpdGlvbiA6IHNlZ21lbnRTaXplIC0gcG9zaXRpb25JblNlZ21l
bnQ7CiAgICAgfQotI2lmIFVTRShORVRXT1JLX0NGREFUQV9BUlJBWV9DQUxMQkFDSykKLSAgICBB
U1NFUlQobWF4U2VnbWVudGVkU2l6ZSA8PSBwb3NpdGlvbik7Ci0gICAgcG9zaXRpb24gLT0gbWF4
U2VnbWVudGVkU2l6ZTsKLSAgICByZXR1cm4gY29weVNvbWVEYXRhRnJvbURhdGFBcnJheShzb21l
RGF0YSwgcG9zaXRpb24pOwotI2Vsc2UKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICBy
ZXR1cm4gMDsKKyNlbHNlCisgICAgcmV0dXJuIGNvcHlTb21lRGF0YUZyb21EYXRhQXJyYXkoc29t
ZURhdGEsIHBvc2l0aW9uKTsKICNlbmRpZgogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9TaGFyZWRCdWZmZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NoYXJl
ZEJ1ZmZlci5oCmluZGV4IDdiMDM1NjY0ZDcwZTFlMDI5M2Q1Nzg2ZmYxYjU3MTAxNGUzMzk1YWYu
LmYzNjk0OTlmZjdiMzZiOTgyYjg3NDkxNGUxOWY1YTYzYTY5NWJhMzUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1NoYXJlZEJ1ZmZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1NoYXJlZEJ1ZmZlci5oCkBAIC0xMzcsMTMgKzEzNywxNCBAQCBwcml2YXRlOgog
ICAgIAogICAgIHVuc2lnbmVkIG1fc2l6ZTsKICAgICBtdXRhYmxlIFZlY3RvcjxjaGFyPiBtX2J1
ZmZlcjsKLSAgICBtdXRhYmxlIFZlY3RvcjxjaGFyKj4gbV9zZWdtZW50czsKICAgICBtdXRhYmxl
IE93blB0cjxQdXJnZWFibGVCdWZmZXI+IG1fcHVyZ2VhYmxlQnVmZmVyOwogI2lmIFVTRShORVRX
T1JLX0NGREFUQV9BUlJBWV9DQUxMQkFDSykKICAgICBtdXRhYmxlIFZlY3RvcjxSZXRhaW5QdHI8
Q0ZEYXRhUmVmPiA+IG1fZGF0YUFycmF5OwogICAgIHZvaWQgY29weURhdGFBcnJheUFuZENsZWFy
KGNoYXIgKmRlc3RpbmF0aW9uLCB1bnNpZ25lZCBieXRlc1RvQ29weSkgY29uc3Q7CiAgICAgdW5z
aWduZWQgY29weVNvbWVEYXRhRnJvbURhdGFBcnJheShjb25zdCBjaGFyKiYgc29tZURhdGEsIHVu
c2lnbmVkIHBvc2l0aW9uKSBjb25zdDsKICAgICBjb25zdCBjaGFyICpzaW5nbGVEYXRhQXJyYXlC
dWZmZXIoKSBjb25zdDsKKyNlbHNlCisgICAgbXV0YWJsZSBWZWN0b3I8Y2hhcio+IG1fc2VnbWVu
dHM7CiAjZW5kaWYKICNpZiBVU0UoQ0YpCiAgICAgZXhwbGljaXQgU2hhcmVkQnVmZmVyKENGRGF0
YVJlZik7Cg==
</data>
<flag name="review"
          id="221904"
          type_id="1"
          status="+"
          setter="benjamin"
    />
    <flag name="commit-queue"
          id="221935"
          type_id="3"
          status="-"
          setter="benjamin"
    />
          </attachment>
      

    </bug>

</bugzilla>