<?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>61130</bug_id>
          
          <creation_ts>2011-05-19 10:14:13 -0700</creation_ts>
          <short_desc>MessagePortArray cloning code needs to verify source before copying</short_desc>
          <delta_ts>2011-05-20 05:44:20 -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>WebCore JavaScript</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andrew Wilson">atwilson</reporter>
          <assigned_to name="Andrew Wilson">atwilson</assigned_to>
          <cc>ademar</cc>
    
    <cc>commit-queue</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>406482</commentid>
    <comment_count>0</comment_count>
    <who name="Andrew Wilson">atwilson</who>
    <bug_when>2011-05-19 10:14:13 -0700</bug_when>
    <thetext>The V8 and JSC implementation of MessagePortArray cloning code needs to verify the source array before allocating a copy.

For example, the following code will cause an OOM when the bindings code naively tries to allocate a 1234567890 element array:

var channel4 = new MessageChannel();
var channel = new MessageChannel();


var largePortArray = [];
largePortArray[1234567890] = channel4.port1;
channel.port1.postMessage(&quot;largeSequence&quot;, largePortArray);

The correct behavior is to throw an exception because there are undefined elements in the array.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406496</commentid>
    <comment_count>1</comment_count>
      <attachid>94086</attachid>
    <who name="Andrew Wilson">atwilson</who>
    <bug_when>2011-05-19 10:26:31 -0700</bug_when>
    <thetext>Created attachment 94086
Patch to change the MessagePortArray copying code to not pre-allocate the destination.

Note that this new code (not pre-allocating the destination) is just as fast as the old code for any arrays containing up to 16 MessagePorts (which covers all expected use cases in practice).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406499</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-05-19 10:29:23 -0700</bug_when>
    <thetext>Attachment 94086 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/fast...&quot; exit_code: 1

LayoutTests/ChangeLog:10:  Line contains tab character.  [whitespace/tab] [5]
Source/WebCore/ChangeLog:10:  Line contains tab character.  [whitespace/tab] [5]
Source/WebCore/ChangeLog:13:  Line contains tab character.  [whitespace/tab] [5]
Total errors found: 3 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406533</commentid>
    <comment_count>3</comment_count>
      <attachid>94086</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-05-19 11:15:34 -0700</bug_when>
    <thetext>Comment on attachment 94086
Patch to change the MessagePortArray copying code to not pre-allocate the destination.

Change looks fine, but tabs in change log will cause the commit queue to fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406561</commentid>
    <comment_count>4</comment_count>
      <attachid>94097</attachid>
    <who name="Andrew Wilson">atwilson</who>
    <bug_when>2011-05-19 11:59:05 -0700</bug_when>
    <thetext>Created attachment 94097
Patch without tabs in ChangeLog</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406588</commentid>
    <comment_count>5</comment_count>
      <attachid>94097</attachid>
    <who name="Andrew Wilson">atwilson</who>
    <bug_when>2011-05-19 12:55:04 -0700</bug_when>
    <thetext>Comment on attachment 94097
Patch without tabs in ChangeLog

I removed those tabs, but the patch is otherwise identical. Anyone want to re-r+ this so the commit-queue can take it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406605</commentid>
    <comment_count>6</comment_count>
      <attachid>94097</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-05-19 13:28:11 -0700</bug_when>
    <thetext>Comment on attachment 94097
Patch without tabs in ChangeLog

Next time I think you should set commit-queue to ? rather than to +. Unless I am ignorant about how commit-queue+ works.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406671</commentid>
    <comment_count>7</comment_count>
    <who name="Andrew Wilson">atwilson</who>
    <bug_when>2011-05-19 14:50:00 -0700</bug_when>
    <thetext>You&apos;re probably right - it&apos;s been a while since I&apos;ve landed anything but test_expectations changes so I&apos;m a bit rusty on the process :( I should probably also wait on the EWS bots before R? it too.

Thanks for the quick turnaround on the reviews!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406695</commentid>
    <comment_count>8</comment_count>
      <attachid>94097</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-19 15:29:36 -0700</bug_when>
    <thetext>Comment on attachment 94097
Patch without tabs in ChangeLog

Clearing flags on attachment: 94097

Committed r86899: &lt;http://trac.webkit.org/changeset/86899&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>406697</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-19 15:29:41 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>407010</commentid>
    <comment_count>10</comment_count>
    <who name="Ademar Reis">ademar</who>
    <bug_when>2011-05-20 05:44:20 -0700</bug_when>
    <thetext>Revision r86899 cherry-picked into qtwebkit-2.2 with commit 63adcb6 &lt;http://gitorious.org/webkit/qtwebkit/commit/63adcb6&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>94086</attachid>
            <date>2011-05-19 10:26:31 -0700</date>
            <delta_ts>2011-05-19 11:59:05 -0700</delta_ts>
            <desc>Patch to change the MessagePortArray copying code to not pre-allocate the destination.</desc>
            <filename>diff</filename>
            <type>text/plain</type>
            <size>5612</size>
            <attacher name="Andrew Wilson">atwilson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBjNTIwY2RlLi5hYzM1N2E0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDUt
MTkgIEFuZHJldyBXaWxzb24gIDxhdHdpbHNvbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWVzc2FnZVBvcnRBcnJheSBjbG9u
aW5nIGNvZGUgbmVlZHMgdG8gdmVyaWZ5IHNvdXJjZSBiZWZvcmUgY29weWluZworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjExMzAKKworICAgICAgICAq
IGZhc3QvZXZlbnRzL21lc3NhZ2UtcG9ydC1tdWx0aS1leHBlY3RlZC50eHQ6CisgICAgICAgICog
ZmFzdC9ldmVudHMvcmVzb3VyY2VzL21lc3NhZ2UtcG9ydC1tdWx0aS5qczoKKwlBZGRlZCB0ZXN0
IGZvciAicGFzc2luZyBhbiBhcnJheSB3aXRoIGFuIGl0ZW0gYXQgYSByZWFsbHkgbGFyZ2UgaW5k
ZXgiIHRvIHBvc3RNZXNzYWdlKCkuCisKIDIwMTEtMDUtMTcgIFRvbnkgQ2hhbmcgIDx0b255QGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBMYW5kIGxpbnV4IDMyIGJpdCByZXN1bHRzLgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvbWVzc2FnZS1wb3J0LW11bHRpLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21lc3NhZ2UtcG9ydC1tdWx0aS1leHBlY3Rl
ZC50eHQKaW5kZXggODMyOGQxMC4uZmY3NTU0NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9ldmVudHMvbWVzc2FnZS1wb3J0LW11bHRpLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2V2ZW50cy9tZXNzYWdlLXBvcnQtbXVsdGktZXhwZWN0ZWQudHh0CkBAIC05LDYgKzks
NyBAQCBQQVNTIGNoYW5uZWwucG9ydDEucG9zdE1lc3NhZ2UoIm51bGwgcG9ydCIsIFtjaGFubmVs
My5wb3J0MSwgbnVsbCwgY2hhbm5lbDMucG9ydAogUEFTUyBjaGFubmVsLnBvcnQxLnBvc3RNZXNz
YWdlKCJub3RBUG9ydCIsIFtjaGFubmVsMy5wb3J0MSwge30sIGNoYW5uZWwzLnBvcnQyXSkgdGhy
ZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KIFBBU1MgY2hhbm5lbC5wb3J0MS5w
b3N0TWVzc2FnZSgibm90QW5BcnJheSIsIGNoYW5uZWwzLnBvcnQxKSB0aHJldyBleGNlcHRpb24g
VHlwZUVycm9yOiBUeXBlIGVycm9yLgogUEFTUyBjaGFubmVsLnBvcnQxLnBvc3RNZXNzYWdlKCJu
b3RBU2VxdWVuY2UiLCBbe2xlbmd0aDogM31dKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBU
eXBlIGVycm9yLgorUEFTUyBjaGFubmVsLnBvcnQxLnBvc3RNZXNzYWdlKCJsYXJnZVNlcXVlbmNl
IiwgbGFyZ2VQb3J0QXJyYXkpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSU5WQUxJRF9TVEFURV9F
UlI6IERPTSBFeGNlcHRpb24gMTEuCiBQQVNTIGV2ZW50LnBvcnRzIGlzIG51bGwgd2hlbiBubyBw
b3J0IHNlbnQKIFBBU1MgZXZlbnQucG9ydHMgaXMgbnVsbCB3aGVuIGVtcHR5IGFycmF5IHNlbnQK
IFBBU1MgZXZlbnQucG9ydHMgY29udGFpbnMgdHdvIHBvcnRzIHdoZW4gdHdvIHBvcnRzIHNlbnQK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Jlc291cmNlcy9tZXNzYWdlLXBv
cnQtbXVsdGkuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9yZXNvdXJjZXMvbWVzc2FnZS1w
b3J0LW11bHRpLmpzCmluZGV4IGY3ZTM0MzYuLjhkZjU0OWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL3Jlc291cmNlcy9tZXNzYWdlLXBvcnQtbXVsdGkuanMKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVzb3VyY2VzL21lc3NhZ2UtcG9ydC1tdWx0aS5qcwpAQCAt
OCw2ICs4LDcgQEAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBjaGVja3MgdGhlIHZhcmlvdXMgdXNl
IGNhc2VzIGFyb3VuZCBzZW5kaW5nIG11bHRpcGxlIHBvcnQKIHZhciBjaGFubmVsID0gbmV3IE1l
c3NhZ2VDaGFubmVsKCk7CiB2YXIgY2hhbm5lbDIgPSBuZXcgTWVzc2FnZUNoYW5uZWwoKTsKIHZh
ciBjaGFubmVsMyA9IG5ldyBNZXNzYWdlQ2hhbm5lbCgpOwordmFyIGNoYW5uZWw0ID0gbmV3IE1l
c3NhZ2VDaGFubmVsKCk7CiAKIGNoYW5uZWwucG9ydDEucG9zdE1lc3NhZ2UoIm5vcG9ydCIpOwog
Y2hhbm5lbC5wb3J0MS5wb3N0TWVzc2FnZSgiemVybyBwb3J0cyIsIFtdKTsKQEAgLTI0LDYgKzI1
LDEyIEBAIGNoYW5uZWwucG9ydDEucG9zdE1lc3NhZ2UoImVudGFuZ2xlZCBwb3J0cyIsIFtjaGFu
bmVsMy5wb3J0MSwgY2hhbm5lbDMucG9ydDJdKTsKIHNob3VsZFRocm93KCdjaGFubmVsLnBvcnQx
LnBvc3RNZXNzYWdlKCJub3RBbkFycmF5IiwgY2hhbm5lbDMucG9ydDEpJykKIHNob3VsZFRocm93
KCdjaGFubmVsLnBvcnQxLnBvc3RNZXNzYWdlKCJub3RBU2VxdWVuY2UiLCBbe2xlbmd0aDogM31d
KScpOwogCisvLyBTaG91bGQgbm90IGNyYXNoICh3ZSBzaG91bGQgZmlndXJlIG91dCB0aGF0IHRo
ZSBhcnJheSBjb250YWlucyB1bmRlZmluZWQKKy8vIGVudHJpZXMpLgordmFyIGxhcmdlUG9ydEFy
cmF5ID0gW107CitsYXJnZVBvcnRBcnJheVsxMjM0NTY3ODkwXSA9IGNoYW5uZWw0LnBvcnQxOwor
c2hvdWxkVGhyb3coJ2NoYW5uZWwucG9ydDEucG9zdE1lc3NhZ2UoImxhcmdlU2VxdWVuY2UiLCBs
YXJnZVBvcnRBcnJheSknKTsKKwogY2hhbm5lbC5wb3J0MS5wb3N0TWVzc2FnZSgiZG9uZSIpOwog
CiBjaGFubmVsLnBvcnQyLm9ubWVzc2FnZSA9IGZ1bmN0aW9uKGV2ZW50KSB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggNTc5ZWMyYi4uNDYzN2NlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDExLTA1
LTE5ICBBbmRyZXcgV2lsc29uICA8YXR3aWxzb25AY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1lc3NhZ2VQb3J0QXJyYXkgY2xv
bmluZyBjb2RlIG5lZWRzIHRvIHZlcmlmeSBzb3VyY2UgYmVmb3JlIGNvcHlpbmcuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MTEzMAorCisgICAgICAg
ICogYmluZGluZ3MvanMvSlNNZXNzYWdlUG9ydEN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpmaWxsTWVzc2FnZVBvcnRBcnJheSk6CisJQ2hhbmdlZCBjb2RlIHRvIG5vdCBwcmUtYWxsb2Nh
dGUgdGhlIGRlc3RpbmF0aW9uIGFycmF5LgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9W
OE1lc3NhZ2VQb3J0Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmdldE1lc3NhZ2VQb3J0
QXJyYXkpOgorCUNoYW5nZWQgY29kZSB0byBub3QgcHJlLWFsbG9jYXRlIHRoZSBkZXN0aW5hdGlv
biBhcnJheS4KKwogMjAxMS0wNS0xNyAgQW5kcmV3IFdpbHNvbiAgPGF0d2lsc29uQGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByODY2NDcuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01lc3NhZ2VQb3J0Q3VzdG9tLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWVzc2FnZVBvcnRDdXN0b20uY3BwCmluZGV4
IGQzNDhlMTAuLmFjMDZjNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTTWVzc2FnZVBvcnRDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L0pTTWVzc2FnZVBvcnRDdXN0b20uY3BwCkBAIC03NSw3ICs3NSw2IEBAIHZvaWQgZmlsbE1lc3Nh
Z2VQb3J0QXJyYXkoSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpTQzo6SlNWYWx1ZSB2YWx1ZSwgTWVz
c2FnZVBvcnRBCiAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlvbigpKQogICAgICAgICByZXR1cm47
CiAKLSAgICBwb3J0QXJyYXkucmVzaXplKGxlbmd0aCk7CiAgICAgZm9yICh1bnNpZ25lZCBpID0g
MCA7IGkgPCBsZW5ndGg7ICsraSkgewogICAgICAgICBKU1ZhbHVlIHZhbHVlID0gb2JqZWN0LT5n
ZXQoZXhlYywgaSk7CiAgICAgICAgIGlmIChleGVjLT5oYWRFeGNlcHRpb24oKSkKQEAgLTkyLDcg
KzkxLDcgQEAgdm9pZCBmaWxsTWVzc2FnZVBvcnRBcnJheShKU0M6OkV4ZWNTdGF0ZSogZXhlYywg
SlNDOjpKU1ZhbHVlIHZhbHVlLCBNZXNzYWdlUG9ydEEKICAgICAgICAgICAgIHRocm93VHlwZUVy
cm9yKGV4ZWMpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9Ci0gICAgICAgIHBvcnRB
cnJheVtpXSA9IHBvcnQucmVsZWFzZSgpOworICAgICAgICBwb3J0QXJyYXkuYXBwZW5kKHBvcnQu
cmVsZWFzZSgpKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3Y4L2N1c3RvbS9WOE1lc3NhZ2VQb3J0Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOE1lc3NhZ2VQb3J0Q3VzdG9tLmNwcAppbmRleCBjNDFlZDM4Li41
NGNkNjc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhN
ZXNzYWdlUG9ydEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4TWVzc2FnZVBvcnRDdXN0b20uY3BwCkBAIC04Niw4ICs4Niw4IEBAIGJvb2wgZ2V0TWVz
c2FnZVBvcnRBcnJheSh2ODo6TG9jYWw8djg6OlZhbHVlPiB2YWx1ZSwgTWVzc2FnZVBvcnRBcnJh
eSYgcG9ydEFycmF5CiAgICAgICAgIH0KICAgICAgICAgbGVuZ3RoID0gc2VxdWVuY2VMZW5ndGgt
PlVpbnQzMlZhbHVlKCk7CiAgICAgfQotICAgIHBvcnRBcnJheS5yZXNpemUobGVuZ3RoKTsKIAor
ICAgIC8vIFZhbGlkYXRlIHRoZSBwYXNzZWQgYXJyYXkgb2YgcG9ydHMuCiAgICAgZm9yICh1bnNp
Z25lZCBpbnQgaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkgewogICAgICAgICB2ODo6TG9jYWw8djg6
OlZhbHVlPiBwb3J0ID0gcG9ydHMtPkdldCh2ODo6SW50ZWdlcjo6TmV3KGkpKTsKICAgICAgICAg
Ly8gVmFsaWRhdGlvbiBvZiBub24tbnVsbCBvYmplY3RzLCBwZXIgSFRNTDUgc3BlYyA4LjMuMy4K
QEAgLTEwMCw3ICsxMDAsNyBAQCBib29sIGdldE1lc3NhZ2VQb3J0QXJyYXkodjg6OkxvY2FsPHY4
OjpWYWx1ZT4gdmFsdWUsIE1lc3NhZ2VQb3J0QXJyYXkmIHBvcnRBcnJheQogICAgICAgICAgICAg
dGhyb3dFcnJvcigiTWVzc2FnZVBvcnRBcnJheSBhcmd1bWVudCBtdXN0IGNvbnRhaW4gb25seSBN
ZXNzYWdlUG9ydHMiKTsKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfQotICAg
ICAgICBwb3J0QXJyYXlbaV0gPSBWOE1lc3NhZ2VQb3J0Ojp0b05hdGl2ZSh2ODo6SGFuZGxlPHY4
OjpPYmplY3Q+OjpDYXN0KHBvcnQpKTsKKyAgICAgICAgcG9ydEFycmF5LmFwcGVuZChWOE1lc3Nh
Z2VQb3J0Ojp0b05hdGl2ZSh2ODo6SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KHBvcnQpKSk7CiAg
ICAgfQogICAgIHJldHVybiB0cnVlOwogfQo=
</data>
<flag name="review"
          id="87343"
          type_id="1"
          status="+"
          setter="darin"
    />
    <flag name="commit-queue"
          id="87344"
          type_id="3"
          status="+"
          setter="atwilson"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>94097</attachid>
            <date>2011-05-19 11:59:05 -0700</date>
            <delta_ts>2011-05-19 15:29:36 -0700</delta_ts>
            <desc>Patch without tabs in ChangeLog</desc>
            <filename>diff</filename>
            <type>text/plain</type>
            <size>5633</size>
            <attacher name="Andrew Wilson">atwilson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBjNTIwY2RlLi43ZGExNmVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDUt
MTkgIEFuZHJldyBXaWxzb24gIDxhdHdpbHNvbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWVzc2FnZVBvcnRBcnJheSBjbG9u
aW5nIGNvZGUgbmVlZHMgdG8gdmVyaWZ5IHNvdXJjZSBiZWZvcmUgY29weWluZworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjExMzAKKworICAgICAgICAq
IGZhc3QvZXZlbnRzL21lc3NhZ2UtcG9ydC1tdWx0aS1leHBlY3RlZC50eHQ6CisgICAgICAgICog
ZmFzdC9ldmVudHMvcmVzb3VyY2VzL21lc3NhZ2UtcG9ydC1tdWx0aS5qczoKKyAgICAgICAgQWRk
ZWQgdGVzdCBmb3IgInBhc3NpbmcgYW4gYXJyYXkgd2l0aCBhbiBpdGVtIGF0IGEgcmVhbGx5IGxh
cmdlIGluZGV4IiB0byBwb3N0TWVzc2FnZSgpLgorCiAyMDExLTA1LTE3ICBUb255IENoYW5nICA8
dG9ueUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgTGFuZCBsaW51eCAzMiBiaXQgcmVzdWx0cy4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL21lc3NhZ2UtcG9ydC1tdWx0aS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9tZXNzYWdlLXBvcnQtbXVsdGkt
ZXhwZWN0ZWQudHh0CmluZGV4IDgzMjhkMTAuLmZmNzU1NDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL21lc3NhZ2UtcG9ydC1tdWx0aS1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9ldmVudHMvbWVzc2FnZS1wb3J0LW11bHRpLWV4cGVjdGVkLnR4dApAQCAt
OSw2ICs5LDcgQEAgUEFTUyBjaGFubmVsLnBvcnQxLnBvc3RNZXNzYWdlKCJudWxsIHBvcnQiLCBb
Y2hhbm5lbDMucG9ydDEsIG51bGwsIGNoYW5uZWwzLnBvcnQKIFBBU1MgY2hhbm5lbC5wb3J0MS5w
b3N0TWVzc2FnZSgibm90QVBvcnQiLCBbY2hhbm5lbDMucG9ydDEsIHt9LCBjaGFubmVsMy5wb3J0
Ml0pIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IFR5cGUgZXJyb3IuCiBQQVNTIGNoYW5uZWwu
cG9ydDEucG9zdE1lc3NhZ2UoIm5vdEFuQXJyYXkiLCBjaGFubmVsMy5wb3J0MSkgdGhyZXcgZXhj
ZXB0aW9uIFR5cGVFcnJvcjogVHlwZSBlcnJvci4KIFBBU1MgY2hhbm5lbC5wb3J0MS5wb3N0TWVz
c2FnZSgibm90QVNlcXVlbmNlIiwgW3tsZW5ndGg6IDN9XSkgdGhyZXcgZXhjZXB0aW9uIFR5cGVF
cnJvcjogVHlwZSBlcnJvci4KK1BBU1MgY2hhbm5lbC5wb3J0MS5wb3N0TWVzc2FnZSgibGFyZ2VT
ZXF1ZW5jZSIsIGxhcmdlUG9ydEFycmF5KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IElOVkFMSURf
U1RBVEVfRVJSOiBET00gRXhjZXB0aW9uIDExLgogUEFTUyBldmVudC5wb3J0cyBpcyBudWxsIHdo
ZW4gbm8gcG9ydCBzZW50CiBQQVNTIGV2ZW50LnBvcnRzIGlzIG51bGwgd2hlbiBlbXB0eSBhcnJh
eSBzZW50CiBQQVNTIGV2ZW50LnBvcnRzIGNvbnRhaW5zIHR3byBwb3J0cyB3aGVuIHR3byBwb3J0
cyBzZW50CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9yZXNvdXJjZXMvbWVz
c2FnZS1wb3J0LW11bHRpLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvcmVzb3VyY2VzL21l
c3NhZ2UtcG9ydC1tdWx0aS5qcwppbmRleCBmN2UzNDM2Li44ZGY1NDllIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9yZXNvdXJjZXMvbWVzc2FnZS1wb3J0LW11bHRpLmpzCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL3Jlc291cmNlcy9tZXNzYWdlLXBvcnQtbXVsdGku
anMKQEAgLTgsNiArOCw3IEBAIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgY2hlY2tzIHRoZSB2YXJp
b3VzIHVzZSBjYXNlcyBhcm91bmQgc2VuZGluZyBtdWx0aXBsZSBwb3J0CiB2YXIgY2hhbm5lbCA9
IG5ldyBNZXNzYWdlQ2hhbm5lbCgpOwogdmFyIGNoYW5uZWwyID0gbmV3IE1lc3NhZ2VDaGFubmVs
KCk7CiB2YXIgY2hhbm5lbDMgPSBuZXcgTWVzc2FnZUNoYW5uZWwoKTsKK3ZhciBjaGFubmVsNCA9
IG5ldyBNZXNzYWdlQ2hhbm5lbCgpOwogCiBjaGFubmVsLnBvcnQxLnBvc3RNZXNzYWdlKCJub3Bv
cnQiKTsKIGNoYW5uZWwucG9ydDEucG9zdE1lc3NhZ2UoInplcm8gcG9ydHMiLCBbXSk7CkBAIC0y
NCw2ICsyNSwxMiBAQCBjaGFubmVsLnBvcnQxLnBvc3RNZXNzYWdlKCJlbnRhbmdsZWQgcG9ydHMi
LCBbY2hhbm5lbDMucG9ydDEsIGNoYW5uZWwzLnBvcnQyXSk7CiBzaG91bGRUaHJvdygnY2hhbm5l
bC5wb3J0MS5wb3N0TWVzc2FnZSgibm90QW5BcnJheSIsIGNoYW5uZWwzLnBvcnQxKScpCiBzaG91
bGRUaHJvdygnY2hhbm5lbC5wb3J0MS5wb3N0TWVzc2FnZSgibm90QVNlcXVlbmNlIiwgW3tsZW5n
dGg6IDN9XSknKTsKIAorLy8gU2hvdWxkIG5vdCBjcmFzaCAod2Ugc2hvdWxkIGZpZ3VyZSBvdXQg
dGhhdCB0aGUgYXJyYXkgY29udGFpbnMgdW5kZWZpbmVkCisvLyBlbnRyaWVzKS4KK3ZhciBsYXJn
ZVBvcnRBcnJheSA9IFtdOworbGFyZ2VQb3J0QXJyYXlbMTIzNDU2Nzg5MF0gPSBjaGFubmVsNC5w
b3J0MTsKK3Nob3VsZFRocm93KCdjaGFubmVsLnBvcnQxLnBvc3RNZXNzYWdlKCJsYXJnZVNlcXVl
bmNlIiwgbGFyZ2VQb3J0QXJyYXkpJyk7CisKIGNoYW5uZWwucG9ydDEucG9zdE1lc3NhZ2UoImRv
bmUiKTsKIAogY2hhbm5lbC5wb3J0Mi5vbm1lc3NhZ2UgPSBmdW5jdGlvbihldmVudCkgewpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCmluZGV4IDU3OWVjMmIuLmE4NjAyNDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAor
MjAxMS0wNS0xOSAgQW5kcmV3IFdpbHNvbiAgPGF0d2lsc29uQGNocm9taXVtLm9yZz4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNZXNzYWdlUG9ydEFy
cmF5IGNsb25pbmcgY29kZSBuZWVkcyB0byB2ZXJpZnkgc291cmNlIGJlZm9yZSBjb3B5aW5nLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjExMzAKKwor
ICAgICAgICAqIGJpbmRpbmdzL2pzL0pTTWVzc2FnZVBvcnRDdXN0b20uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6ZmlsbE1lc3NhZ2VQb3J0QXJyYXkpOgorICAgICAgICBDaGFuZ2VkIGNvZGUgdG8g
bm90IHByZS1hbGxvY2F0ZSB0aGUgZGVzdGluYXRpb24gYXJyYXkuCisgICAgICAgICogYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4TWVzc2FnZVBvcnRDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Z2V0TWVzc2FnZVBvcnRBcnJheSk6CisgICAgICAgIENoYW5nZWQgY29kZSB0byBub3QgcHJlLWFs
bG9jYXRlIHRoZSBkZXN0aW5hdGlvbiBhcnJheS4KKwogMjAxMS0wNS0xNyAgQW5kcmV3IFdpbHNv
biAgPGF0d2lsc29uQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5n
IG91dCByODY2NDcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01l
c3NhZ2VQb3J0Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWVzc2Fn
ZVBvcnRDdXN0b20uY3BwCmluZGV4IGQzNDhlMTAuLmFjMDZjNmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWVzc2FnZVBvcnRDdXN0b20uY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWVzc2FnZVBvcnRDdXN0b20uY3BwCkBAIC03NSw3ICs3
NSw2IEBAIHZvaWQgZmlsbE1lc3NhZ2VQb3J0QXJyYXkoSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIEpT
Qzo6SlNWYWx1ZSB2YWx1ZSwgTWVzc2FnZVBvcnRBCiAgICAgaWYgKGV4ZWMtPmhhZEV4Y2VwdGlv
bigpKQogICAgICAgICByZXR1cm47CiAKLSAgICBwb3J0QXJyYXkucmVzaXplKGxlbmd0aCk7CiAg
ICAgZm9yICh1bnNpZ25lZCBpID0gMCA7IGkgPCBsZW5ndGg7ICsraSkgewogICAgICAgICBKU1Zh
bHVlIHZhbHVlID0gb2JqZWN0LT5nZXQoZXhlYywgaSk7CiAgICAgICAgIGlmIChleGVjLT5oYWRF
eGNlcHRpb24oKSkKQEAgLTkyLDcgKzkxLDcgQEAgdm9pZCBmaWxsTWVzc2FnZVBvcnRBcnJheShK
U0M6OkV4ZWNTdGF0ZSogZXhlYywgSlNDOjpKU1ZhbHVlIHZhbHVlLCBNZXNzYWdlUG9ydEEKICAg
ICAgICAgICAgIHRocm93VHlwZUVycm9yKGV4ZWMpOwogICAgICAgICAgICAgcmV0dXJuOwogICAg
ICAgICB9Ci0gICAgICAgIHBvcnRBcnJheVtpXSA9IHBvcnQucmVsZWFzZSgpOworICAgICAgICBw
b3J0QXJyYXkuYXBwZW5kKHBvcnQucmVsZWFzZSgpKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE1lc3NhZ2VQb3J0Q3VzdG9tLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOE1lc3NhZ2VQb3J0Q3VzdG9t
LmNwcAppbmRleCBjNDFlZDM4Li41NGNkNjc4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhNZXNzYWdlUG9ydEN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4TWVzc2FnZVBvcnRDdXN0b20uY3BwCkBAIC04Niw4
ICs4Niw4IEBAIGJvb2wgZ2V0TWVzc2FnZVBvcnRBcnJheSh2ODo6TG9jYWw8djg6OlZhbHVlPiB2
YWx1ZSwgTWVzc2FnZVBvcnRBcnJheSYgcG9ydEFycmF5CiAgICAgICAgIH0KICAgICAgICAgbGVu
Z3RoID0gc2VxdWVuY2VMZW5ndGgtPlVpbnQzMlZhbHVlKCk7CiAgICAgfQotICAgIHBvcnRBcnJh
eS5yZXNpemUobGVuZ3RoKTsKIAorICAgIC8vIFZhbGlkYXRlIHRoZSBwYXNzZWQgYXJyYXkgb2Yg
cG9ydHMuCiAgICAgZm9yICh1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCBsZW5ndGg7ICsraSkgewog
ICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiBwb3J0ID0gcG9ydHMtPkdldCh2ODo6SW50ZWdl
cjo6TmV3KGkpKTsKICAgICAgICAgLy8gVmFsaWRhdGlvbiBvZiBub24tbnVsbCBvYmplY3RzLCBw
ZXIgSFRNTDUgc3BlYyA4LjMuMy4KQEAgLTEwMCw3ICsxMDAsNyBAQCBib29sIGdldE1lc3NhZ2VQ
b3J0QXJyYXkodjg6OkxvY2FsPHY4OjpWYWx1ZT4gdmFsdWUsIE1lc3NhZ2VQb3J0QXJyYXkmIHBv
cnRBcnJheQogICAgICAgICAgICAgdGhyb3dFcnJvcigiTWVzc2FnZVBvcnRBcnJheSBhcmd1bWVu
dCBtdXN0IGNvbnRhaW4gb25seSBNZXNzYWdlUG9ydHMiKTsKICAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKICAgICAgICAgfQotICAgICAgICBwb3J0QXJyYXlbaV0gPSBWOE1lc3NhZ2VQb3J0Ojp0
b05hdGl2ZSh2ODo6SGFuZGxlPHY4OjpPYmplY3Q+OjpDYXN0KHBvcnQpKTsKKyAgICAgICAgcG9y
dEFycmF5LmFwcGVuZChWOE1lc3NhZ2VQb3J0Ojp0b05hdGl2ZSh2ODo6SGFuZGxlPHY4OjpPYmpl
Y3Q+OjpDYXN0KHBvcnQpKSk7CiAgICAgfQogICAgIHJldHVybiB0cnVlOwogfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>