<?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>43401</bug_id>
          
          <creation_ts>2010-08-02 20:23:17 -0700</creation_ts>
          <short_desc>REGRESSION: calling unshift passing more than 1 argument causes array corruption</short_desc>
          <delta_ts>2010-08-05 12:34:44 -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>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac (Intel)</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P1</priority>
          <bug_severity>Major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Heather">heather162</reporter>
          <assigned_to name="Michael Saboff">msaboff</assigned_to>
          <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>msaboff</cc>
    
    <cc>oliver</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>259276</commentid>
    <comment_count>0</comment_count>
      <attachid>63295</attachid>
    <who name="Heather">heather162</who>
    <bug_when>2010-08-02 20:23:17 -0700</bug_when>
    <thetext>Created attachment 63295
array unshift test case

In the latest nightly calling unshift on an array and passing more than one argument causes the array to become corrupted after the 3rd call to unshift.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>259823</commentid>
    <comment_count>1</comment_count>
      <attachid>63406</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2010-08-03 19:50:27 -0700</bug_when>
    <thetext>Created attachment 63406
Patch to fix initialization of array contents as part of unshift.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>259829</commentid>
    <comment_count>2</comment_count>
      <attachid>63406</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2010-08-03 20:04:19 -0700</bug_when>
    <thetext>Comment on attachment 63406
Patch to fix initialization of array contents as part of unshift.

Looks fine but please remove tabs &amp; add layout test as discussed.
cheers, G.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260105</commentid>
    <comment_count>3</comment_count>
      <attachid>63467</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2010-08-04 11:07:26 -0700</bug_when>
    <thetext>Created attachment 63467
Updated patch with fix for &lt;tabs&gt; in source and inclusion of new regression tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260110</commentid>
    <comment_count>4</comment_count>
      <attachid>63467</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-08-04 11:13:10 -0700</bug_when>
    <thetext>Comment on attachment 63467
Updated patch with fix for &lt;tabs&gt; in source and inclusion of new regression tests.

Looks good. Nice test too.

&gt; +    for (unsigned i = 0; i &lt; (unsigned)count; i++)

We normally don&apos;t use C-style casts, so this should be a static_cast, or even better you could just use the same type for &quot;i&quot; as for &quot;count&quot; and avoid the cast entirely.

I’ll leave this on commit-queue? so you can decide whether to fix this. If you choose to upload a new patch, then I&apos;ll set commit-queue+ on that, or I can set commit-queue+ on this if you want to land it without changing the typecast above.

Not sure why you are using shouldEvaluateTo instead of shouldBe in the test. What&apos;s the difference?

The patch was uploaded with the wrong MIME type and without the &quot;is a patch&quot; check box set; I had to fix those before I could do this review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260117</commentid>
    <comment_count>5</comment_count>
      <attachid>63470</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2010-08-04 11:34:39 -0700</bug_when>
    <thetext>Created attachment 63470
Updated patch with changes suggested in review of attachment 63467</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260636</commentid>
    <comment_count>6</comment_count>
      <attachid>63467</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-08-05 08:53:05 -0700</bug_when>
    <thetext>Comment on attachment 63467
Updated patch with fix for &lt;tabs&gt; in source and inclusion of new regression tests.

Cleared Darin Adler&apos;s review+ from obsolete attachment 63467 so that this bug does not appear in http://webkit.org/pending-commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260778</commentid>
    <comment_count>7</comment_count>
      <attachid>63470</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-08-05 12:34:39 -0700</bug_when>
    <thetext>Comment on attachment 63470
Updated patch with changes suggested in review of attachment 63467

Clearing flags on attachment: 63470

Committed r64773: &lt;http://trac.webkit.org/changeset/64773&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260779</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-08-05 12:34:44 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>63295</attachid>
            <date>2010-08-02 20:23:17 -0700</date>
            <delta_ts>2010-08-02 20:23:17 -0700</delta_ts>
            <desc>array unshift test case</desc>
            <filename>arrayunshifttest.html</filename>
            <type>text/html</type>
            <size>290</size>
            <attacher name="Heather">heather162</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CgpmdW5jdGlvbiBy
dW5KYXZhc2NyaXB0KCkgewoJdmFyIGFuQXJyYXkgPSBbXTsKCWZvciAodmFyIGkgPSAwOyBpIDwg
NDsgaSsrKSB7CgkJYW5BcnJheS51bnNoaWZ0KCdhJywgJ2InKTsKCX0KCWFsZXJ0IChhbkFycmF5
KTsKfQo8L3NjcmlwdD4KPC9oZWFkPgo8Ym9keT4KPGlucHV0IHR5cGU9ImJ1dHRvbiIgb25jbGlj
az0icnVuSmF2YXNjcmlwdCgpOyIgdmFsdWU9IkFsZXJ0IEpTIEFycmF5IiAvPgo8L2JvZHk+Cjwv
aHRtbD4=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63406</attachid>
            <date>2010-08-03 19:50:27 -0700</date>
            <delta_ts>2010-08-04 11:07:26 -0700</delta_ts>
            <desc>Patch to fix initialization of array contents as part of unshift.</desc>
            <filename>43401.patch</filename>
            <type>text/plain</type>
            <size>1461</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDY0NjE4KQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTAtMDgtMDMgIE1pY2hhZWwg
U2Fib2ZmICA8bXNhYm9mZkBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgRml4ZWQgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTQzNDAxIHdoZXJlIGFycmF5IAorICAgICAgICBjb250ZW50IGFyZW4ndCBwcm9w
ZXJseSBpbml0aWFsaXplZCBhcyBwYXJ0IG9mIHVuc2hpZnQuICAKKworICAgICAgICAqIHJ1bnRp
bWUvSlNBcnJheS5jcHA6CisgICAgICAgIChKU0M6OkpTQXJyYXk6OnVuc2hpZnRDb3VudCk6CisK
IDIwMTAtMDgtMDMgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHBhcm9nYS5jb20+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgR2F2aW4gQmFycmFjbG91Z2guCkluZGV4OiBKYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0pTQXJyYXkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL3J1bnRp
bWUvSlNBcnJheS5jcHAJKHJldmlzaW9uIDY0NTkyKQorKysgSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9KU0FycmF5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtODMyLDEwICs4MzIsMTMgQEAgdm9pZCBK
U0FycmF5Ojp1bnNoaWZ0Q291bnQoRXhlY1N0YXRlKiBleAogICAgICAgICBzdG9yYWdlID0gcmVp
bnRlcnByZXRfY2FzdDxBcnJheVN0b3JhZ2UqPihuZXdCYXNlU3RvcmFnZSk7CiAgICAgICAgIHNl
dEFycmF5U3RvcmFnZShzdG9yYWdlKTsKICAgICAgICAgbV92ZWN0b3JMZW5ndGggKz0gY291bnQ7
Ci0gICAgfSBlbHNlIGlmICgoIW1faW5kZXhCaWFzKSAmJiAoIWluY3JlYXNlVmVjdG9yUHJlZml4
TGVuZ3RoKG1fdmVjdG9yTGVuZ3RoICsgY291bnQpKSkgewotICAgICAgICB0aHJvd091dE9mTWVt
b3J5RXJyb3IoZXhlYyk7Ci0gICAgICAgIHJldHVybjsKKyAgICB9IGVsc2UgaWYgKCFpbmNyZWFz
ZVZlY3RvclByZWZpeExlbmd0aChtX3ZlY3Rvckxlbmd0aCArIGNvdW50KSkgeworICAgICAgICAg
ICAgdGhyb3dPdXRPZk1lbW9yeUVycm9yKGV4ZWMpOworICAgICAgICAgICAgcmV0dXJuOwogICAg
IH0KKyAgICAKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgKHVuc2lnbmVkKWNvdW50OyBp
KyspCisgICAgICAgIG1fdmVjdG9yW2ldID0gSlNWYWx1ZSgpOwogfQogCiB2b2lkIEpTQXJyYXk6
Om1hcmtDaGlsZHJlbihNYXJrU3RhY2smIG1hcmtTdGFjaykK
</data>
<flag name="review"
          id="51753"
          type_id="1"
          status="-"
          setter="barraclough"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63467</attachid>
            <date>2010-08-04 11:07:26 -0700</date>
            <delta_ts>2010-08-05 08:53:05 -0700</delta_ts>
            <desc>Updated patch with fix for &lt;tabs&gt; in source and inclusion of new regression tests.</desc>
            <filename>43401.patch</filename>
            <type>text/plain</type>
            <size>5733</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDY0NjU2KQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTAtMDgtMDQgIE1pY2hhZWwg
U2Fib2ZmICA8bXNhYm9mZkBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgRml4ZWQgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTQzNDAxIHdoZXJlIGFycmF5IAorICAgICAgICBjb250ZW50IGFyZW4ndCBwcm9w
ZXJseSBpbml0aWFsaXplZCBhcyBwYXJ0IG9mIHVuc2hpZnQuICAKKworICAgICAgICAqIHJ1bnRp
bWUvSlNBcnJheS5jcHA6CisgICAgICAgIChKU0M6OkpTQXJyYXk6OnVuc2hpZnRDb3VudCk6CisK
IDIwMTAtMDgtMDQgIE5hdGhhbiBMYXdyZW5jZSAgPG5sYXdyZW5jZUBhcHBsZS5jb20+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCkluZGV4OiBKYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTQXJyYXkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNB
cnJheS5jcHAJKHJldmlzaW9uIDY0NjUzKQorKysgSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fy
cmF5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtODUwLDEwICs4NTAsMTMgQEAgdm9pZCBKU0FycmF5
Ojp1bnNoaWZ0Q291bnQoRXhlY1N0YXRlKiBleAogICAgICAgICBzdG9yYWdlID0gcmVpbnRlcnBy
ZXRfY2FzdDxBcnJheVN0b3JhZ2UqPihuZXdCYXNlU3RvcmFnZSk7CiAgICAgICAgIHNldEFycmF5
U3RvcmFnZShzdG9yYWdlKTsKICAgICAgICAgbV92ZWN0b3JMZW5ndGggKz0gY291bnQ7Ci0gICAg
fSBlbHNlIGlmICgoIW1faW5kZXhCaWFzKSAmJiAoIWluY3JlYXNlVmVjdG9yUHJlZml4TGVuZ3Ro
KG1fdmVjdG9yTGVuZ3RoICsgY291bnQpKSkgeworICAgIH0gZWxzZSBpZiAoIWluY3JlYXNlVmVj
dG9yUHJlZml4TGVuZ3RoKG1fdmVjdG9yTGVuZ3RoICsgY291bnQpKSB7CiAgICAgICAgIHRocm93
T3V0T2ZNZW1vcnlFcnJvcihleGVjKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KKworICAgIGZv
ciAodW5zaWduZWQgaSA9IDA7IGkgPCAodW5zaWduZWQpY291bnQ7IGkrKykKKyAgICAgICAgbV92
ZWN0b3JbaV0gPSBKU1ZhbHVlKCk7CiB9CiAKIHZvaWQgSlNBcnJheTo6bWFya0NoaWxkcmVuKE1h
cmtTdGFjayYgbWFya1N0YWNrKQpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gNjQ2NTYpCisrKyBMYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNCBAQAorMjAxMC0wOC0w
NCAgTWljaGFlbCBTYWJvZmYgIDxtc2Fib2ZmQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOZXcgcmVncmVzc2lvbiB0ZXN0cyBhZGRl
ZCBhcyBwYXJ0IG9mIHVuc2hpZnQgZml4IGZvciBidWcgZGVzY3JpYmVkCisgICAgICAgIGluaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQzNDAxLgorCisgICAgICAgICog
ZmFzdC9qcy9zY3JpcHQtdGVzdHMvdW5zaGlmdC1tdWx0aS5qczogQWRkZWQuCisgICAgICAgICog
ZmFzdC9qcy91bnNoaWZ0LW11bHRpLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFz
dC9qcy91bnNoaWZ0LW11bHRpLmh0bWw6IEFkZGVkLgorCiAyMDEwLTA4LTA0ICBBYmhpc2hlayBB
cnlhICA8aW5mZXJub0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZC4gUVQgZXhw
ZWN0YXRpb24gZml4LgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9qcy91bnNoaWZ0LW11bHRpLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2pzL3Vuc2hpZnQtbXVs
dGktZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9qcy91bnNo
aWZ0LW11bHRpLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxOSBAQAorVGVz
dCBmb3IgcmVncmVzc2lvbiBhZ2FpbnN0IENhbGxpbmcgdW5zaGlmdCBwYXNzaW5nIG1vcmUgdGhh
biAxIGFyZ3VtZW50IGNhdXNlcyBhcnJheSBjb3JydXB0aW9uLiBJdCBhbHNvIHRlc3RzIHNvbWUg
b3RoZXIgdW5zaGlmdCBjb21iaW5hdGlvbnMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworCitQQVNTIHVuc2hpZnQxKDEpIGlzIFsiYSJdCitQQVNTIHVuc2hpZnQxKDIpIGlzIFsiYSIs
ICJhIl0KK1BBU1MgdW5zaGlmdDEoNCkgaXMgWyJhIiwgImEiLCAiYSIsICJhIl0KK1BBU1MgdW5z
aGlmdDIoMSkgaXMgWyJhIiwgImIiXQorUEFTUyB1bnNoaWZ0MigyKSBpcyBbImEiLCAiYiIsICJh
IiwgImIiXQorUEFTUyB1bnNoaWZ0Mig0KSBpcyBbImEiLCAiYiIsICJhIiwgImIiLCAiYSIsICJi
IiwgImEiLCAiYiJdCitQQVNTIHVuc2hpZnQyKDEwKSBpcyBbImEiLCAiYiIsICJhIiwgImIiLCAi
YSIsICJiIiwgImEiLCAiYiIsICJhIiwgImIiLCAiYSIsICJiIiwgImEiLCAiYiIsICJhIiwgImIi
LCAiYSIsICJiIiwgImEiLCAiYiJdCitQQVNTIHVuc2hpZnQ1KDEpIGlzIFsiYSIsICJiIiwgImMi
LCAiZCIsICJlIl0KK1BBU1MgdW5zaGlmdDUoMikgaXMgWyJhIiwgImIiLCAiYyIsICJkIiwgImUi
LCAiYSIsICJiIiwgImMiLCAiZCIsICJlIl0KK1BBU1MgdW5zaGlmdDUoNikgaXMgWyJhIiwgImIi
LCAiYyIsICJkIiwgImUiLCAiYSIsICJiIiwgImMiLCAiZCIsICJlIiwgImEiLCAiYiIsICJjIiwg
ImQiLCAiZSIsICJhIiwgImIiLCAiYyIsICJkIiwgImUiLCAiYSIsICJiIiwgImMiLCAiZCIsICJl
IiwgImEiLCAiYiIsICJjIiwgImQiLCAiZSJdCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0
cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9qcy91bnNoaWZ0
LW11bHRpLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9qcy91bnNoaWZ0LW11
bHRpLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2pzL3Vuc2hpZnQtbXVs
dGkuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVC
TElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0i
c3R5bGVzaGVldCIgaHJlZj0icmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQg
c3JjPSJyZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNj
cmlwdCBzcmM9InNjcmlwdC10ZXN0cy91bnNoaWZ0LW11bHRpLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSJyZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwv
aHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvanMvc2NyaXB0LXRlc3RzL3Vuc2hpZnQtbXVs
dGkuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9qcy9zY3JpcHQtdGVzdHMvdW5z
aGlmdC1tdWx0aS5qcwkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvanMvc2NyaXB0
LXRlc3RzL3Vuc2hpZnQtbXVsdGkuanMJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDUgQEAKK2Rl
c2NyaXB0aW9uKAorJ1Rlc3QgZm9yIHJlZ3Jlc3Npb24gYWdhaW5zdCA8YSBocmVmPSJodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDM0MDEiPkNhbGxpbmcgdW5zaGlmdCBw
YXNzaW5nIG1vcmUgdGhhbiAxIGFyZ3VtZW50IGNhdXNlcyBhcnJheSBjb3JydXB0aW9uLiAgSXQg
YWxzbyB0ZXN0cyBzb21lIG90aGVyIHVuc2hpZnQgY29tYmluYXRpb25zLicKKyk7CisKKworZnVu
Y3Rpb24gdW5zaGlmdDEobikgeworICAgIHZhciBhbkFycmF5ID0gW107CisgICAgZm9yICh2YXIg
aSA9IDA7IGkgPCBuOyBpKyspIHsKKyAgICAgICAgYW5BcnJheS51bnNoaWZ0KCdhJyk7CisgICAg
fQorICAgIAorICAgIHJldHVybiBhbkFycmF5OworfQorCitmdW5jdGlvbiB1bnNoaWZ0MihuKSB7
CisgICAgdmFyIGFuQXJyYXkgPSBbXTsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IG47IGkrKykg
eworICAgICAgICBhbkFycmF5LnVuc2hpZnQoJ2EnLCAnYicpOworICAgIH0KKworICAgIHJldHVy
biBhbkFycmF5OworfQorCitmdW5jdGlvbiB1bnNoaWZ0NShuKSB7CisgICAgdmFyIGFuQXJyYXkg
PSBbXTsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IG47IGkrKykgeworICAgICAgICBhbkFycmF5
LnVuc2hpZnQoJ2EnLCAnYicsICdjJywgJ2QnLCAnZScpOworICAgIH0KKworICAgIHJldHVybiBh
bkFycmF5OworfQorCisKK3Nob3VsZEV2YWx1YXRlVG8oJ3Vuc2hpZnQxKDEpJywgJ1siYSJdJyk7
CitzaG91bGRFdmFsdWF0ZVRvKCd1bnNoaWZ0MSgyKScsICdbImEiLCAiYSJdJyk7CitzaG91bGRF
dmFsdWF0ZVRvKCd1bnNoaWZ0MSg0KScsICdbImEiLCAiYSIsICJhIiwgImEiXScpOworc2hvdWxk
RXZhbHVhdGVUbygndW5zaGlmdDIoMSknLCAnWyJhIiwgImIiXScpOworc2hvdWxkRXZhbHVhdGVU
bygndW5zaGlmdDIoMiknLCAnWyJhIiwgImIiLCAiYSIsICJiIl0nKTsKK3Nob3VsZEV2YWx1YXRl
VG8oJ3Vuc2hpZnQyKDQpJywgJ1siYSIsICJiIiwgImEiLCAiYiIsICJhIiwgImIiLCAiYSIsICJi
Il0nKTsKK3Nob3VsZEV2YWx1YXRlVG8oJ3Vuc2hpZnQyKDEwKScsICdbImEiLCAiYiIsICJhIiwg
ImIiLCAiYSIsICJiIiwgImEiLCAiYiIsICJhIiwgImIiLCAiYSIsICJiIiwgImEiLCAiYiIsICJh
IiwgImIiLCAiYSIsICJiIiwgImEiLCAiYiJdJyk7CitzaG91bGRFdmFsdWF0ZVRvKCd1bnNoaWZ0
NSgxKScsICdbImEiLCAiYiIsICJjIiwgImQiLCAiZSJdJyk7CitzaG91bGRFdmFsdWF0ZVRvKCd1
bnNoaWZ0NSgyKScsICdbImEiLCAiYiIsICJjIiwgImQiLCAiZSIsICJhIiwgImIiLCAiYyIsICJk
IiwgImUiXScpOworc2hvdWxkRXZhbHVhdGVUbygndW5zaGlmdDUoNiknLCAnWyJhIiwgImIiLCAi
YyIsICJkIiwgImUiLCAiYSIsICJiIiwgImMiLCAiZCIsICJlIiwgImEiLCAiYiIsICJjIiwgImQi
LCAiZSIsICJhIiwgImIiLCAiYyIsICJkIiwgImUiLCAiYSIsICJiIiwgImMiLCAiZCIsICJlIiwg
ImEiLCAiYiIsICJjIiwgImQiLCAiZSJdJyk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63470</attachid>
            <date>2010-08-04 11:34:39 -0700</date>
            <delta_ts>2010-08-05 12:34:39 -0700</delta_ts>
            <desc>Updated patch with changes suggested in review of attachment 63467</desc>
            <filename>43401.patch</filename>
            <type>text/plain</type>
            <size>5638</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDY0NjU2KQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTAtMDgtMDQgIE1pY2hhZWwg
U2Fib2ZmICA8bXNhYm9mZkBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgRml4ZWQgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTQzNDAxIHdoZXJlIGFycmF5IAorICAgICAgICBjb250ZW50IGFyZW4ndCBwcm9w
ZXJseSBpbml0aWFsaXplZCBhcyBwYXJ0IG9mIHVuc2hpZnQuICAKKworICAgICAgICAqIHJ1bnRp
bWUvSlNBcnJheS5jcHA6CisgICAgICAgIChKU0M6OkpTQXJyYXk6OnVuc2hpZnRDb3VudCk6CisK
IDIwMTAtMDgtMDQgIE5hdGhhbiBMYXdyZW5jZSAgPG5sYXdyZW5jZUBhcHBsZS5jb20+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCkluZGV4OiBKYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0pTQXJyYXkuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNB
cnJheS5jcHAJKHJldmlzaW9uIDY0NjUzKQorKysgSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Fy
cmF5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtODUwLDEwICs4NTAsMTMgQEAgdm9pZCBKU0FycmF5
Ojp1bnNoaWZ0Q291bnQoRXhlY1N0YXRlKiBleAogICAgICAgICBzdG9yYWdlID0gcmVpbnRlcnBy
ZXRfY2FzdDxBcnJheVN0b3JhZ2UqPihuZXdCYXNlU3RvcmFnZSk7CiAgICAgICAgIHNldEFycmF5
U3RvcmFnZShzdG9yYWdlKTsKICAgICAgICAgbV92ZWN0b3JMZW5ndGggKz0gY291bnQ7Ci0gICAg
fSBlbHNlIGlmICgoIW1faW5kZXhCaWFzKSAmJiAoIWluY3JlYXNlVmVjdG9yUHJlZml4TGVuZ3Ro
KG1fdmVjdG9yTGVuZ3RoICsgY291bnQpKSkgeworICAgIH0gZWxzZSBpZiAoIWluY3JlYXNlVmVj
dG9yUHJlZml4TGVuZ3RoKG1fdmVjdG9yTGVuZ3RoICsgY291bnQpKSB7CiAgICAgICAgIHRocm93
T3V0T2ZNZW1vcnlFcnJvcihleGVjKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KKworICAgIGZv
ciAoaW50IGkgPSAwOyBpIDwgY291bnQ7IGkrKykKKyAgICAgICAgbV92ZWN0b3JbaV0gPSBKU1Zh
bHVlKCk7CiB9CiAKIHZvaWQgSlNBcnJheTo6bWFya0NoaWxkcmVuKE1hcmtTdGFjayYgbWFya1N0
YWNrKQpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL0NoYW5nZUxvZwkocmV2aXNpb24gNjQ2NTYpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNCBAQAorMjAxMC0wOC0wNCAgTWljaGFlbCBTYWJv
ZmYgIDxtc2Fib2ZmQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBOZXcgcmVncmVzc2lvbiB0ZXN0cyBhZGRlZCBhcyBwYXJ0IG9mIHVu
c2hpZnQgZml4IGZvciBidWcgZGVzY3JpYmVkCisgICAgICAgIGluaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTQzNDAxLgorCisgICAgICAgICogZmFzdC9qcy9zY3JpcHQt
dGVzdHMvdW5zaGlmdC1tdWx0aS5qczogQWRkZWQuCisgICAgICAgICogZmFzdC9qcy91bnNoaWZ0
LW11bHRpLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9qcy91bnNoaWZ0LW11
bHRpLmh0bWw6IEFkZGVkLgorCiAyMDEwLTA4LTA0ICBBYmhpc2hlayBBcnlhICA8aW5mZXJub0Bj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZC4gUVQgZXhwZWN0YXRpb24gZml4LgpJ
bmRleDogTGF5b3V0VGVzdHMvZmFzdC9qcy91bnNoaWZ0LW11bHRpLWV4cGVjdGVkLnR4dAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2pzL3Vuc2hpZnQtbXVsdGktZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9qcy91bnNoaWZ0LW11bHRpLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxOSBAQAorVGVzdCBmb3IgcmVncmVzc2lv
biBhZ2FpbnN0IENhbGxpbmcgdW5zaGlmdCBwYXNzaW5nIG1vcmUgdGhhbiAxIGFyZ3VtZW50IGNh
dXNlcyBhcnJheSBjb3JydXB0aW9uLiBJdCBhbHNvIHRlc3RzIHNvbWUgb3RoZXIgdW5zaGlmdCBj
b21iaW5hdGlvbnMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIHVuc2hp
ZnQxKDEpIGlzIFsiYSJdCitQQVNTIHVuc2hpZnQxKDIpIGlzIFsiYSIsICJhIl0KK1BBU1MgdW5z
aGlmdDEoNCkgaXMgWyJhIiwgImEiLCAiYSIsICJhIl0KK1BBU1MgdW5zaGlmdDIoMSkgaXMgWyJh
IiwgImIiXQorUEFTUyB1bnNoaWZ0MigyKSBpcyBbImEiLCAiYiIsICJhIiwgImIiXQorUEFTUyB1
bnNoaWZ0Mig0KSBpcyBbImEiLCAiYiIsICJhIiwgImIiLCAiYSIsICJiIiwgImEiLCAiYiJdCitQ
QVNTIHVuc2hpZnQyKDEwKSBpcyBbImEiLCAiYiIsICJhIiwgImIiLCAiYSIsICJiIiwgImEiLCAi
YiIsICJhIiwgImIiLCAiYSIsICJiIiwgImEiLCAiYiIsICJhIiwgImIiLCAiYSIsICJiIiwgImEi
LCAiYiJdCitQQVNTIHVuc2hpZnQ1KDEpIGlzIFsiYSIsICJiIiwgImMiLCAiZCIsICJlIl0KK1BB
U1MgdW5zaGlmdDUoMikgaXMgWyJhIiwgImIiLCAiYyIsICJkIiwgImUiLCAiYSIsICJiIiwgImMi
LCAiZCIsICJlIl0KK1BBU1MgdW5zaGlmdDUoNikgaXMgWyJhIiwgImIiLCAiYyIsICJkIiwgImUi
LCAiYSIsICJiIiwgImMiLCAiZCIsICJlIiwgImEiLCAiYiIsICJjIiwgImQiLCAiZSIsICJhIiwg
ImIiLCAiYyIsICJkIiwgImUiLCAiYSIsICJiIiwgImMiLCAiZCIsICJlIiwgImEiLCAiYiIsICJj
IiwgImQiLCAiZSJdCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9qcy91bnNoaWZ0LW11bHRpLmh0bWwKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9qcy91bnNoaWZ0LW11bHRpLmh0bWwJKHJldmlz
aW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2pzL3Vuc2hpZnQtbXVsdGkuaHRtbAkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0icmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InNjcmlw
dC10ZXN0cy91bnNoaWZ0LW11bHRpLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExh
eW91dFRlc3RzL2Zhc3QvanMvc2NyaXB0LXRlc3RzL3Vuc2hpZnQtbXVsdGkuanMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9qcy9zY3JpcHQtdGVzdHMvdW5zaGlmdC1tdWx0aS5qcwko
cmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvanMvc2NyaXB0LXRlc3RzL3Vuc2hpZnQt
bXVsdGkuanMJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDUgQEAKK2Rlc2NyaXB0aW9uKAorJ1Rl
c3QgZm9yIHJlZ3Jlc3Npb24gYWdhaW5zdCA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NDM0MDEiPkNhbGxpbmcgdW5zaGlmdCBwYXNzaW5nIG1vcmUgdGhh
biAxIGFyZ3VtZW50IGNhdXNlcyBhcnJheSBjb3JydXB0aW9uLiAgSXQgYWxzbyB0ZXN0cyBzb21l
IG90aGVyIHVuc2hpZnQgY29tYmluYXRpb25zLicKKyk7CisKKworZnVuY3Rpb24gdW5zaGlmdDEo
bikgeworICAgIHZhciBhbkFycmF5ID0gW107CisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBuOyBp
KyspIHsKKyAgICAgICAgYW5BcnJheS51bnNoaWZ0KCdhJyk7CisgICAgfQorICAgIAorICAgIHJl
dHVybiBhbkFycmF5OworfQorCitmdW5jdGlvbiB1bnNoaWZ0MihuKSB7CisgICAgdmFyIGFuQXJy
YXkgPSBbXTsKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IG47IGkrKykgeworICAgICAgICBhbkFy
cmF5LnVuc2hpZnQoJ2EnLCAnYicpOworICAgIH0KKworICAgIHJldHVybiBhbkFycmF5OworfQor
CitmdW5jdGlvbiB1bnNoaWZ0NShuKSB7CisgICAgdmFyIGFuQXJyYXkgPSBbXTsKKyAgICBmb3Ig
KHZhciBpID0gMDsgaSA8IG47IGkrKykgeworICAgICAgICBhbkFycmF5LnVuc2hpZnQoJ2EnLCAn
YicsICdjJywgJ2QnLCAnZScpOworICAgIH0KKworICAgIHJldHVybiBhbkFycmF5OworfQorCisK
K3Nob3VsZEJlKCd1bnNoaWZ0MSgxKScsICdbImEiXScpOworc2hvdWxkQmUoJ3Vuc2hpZnQxKDIp
JywgJ1siYSIsICJhIl0nKTsKK3Nob3VsZEJlKCd1bnNoaWZ0MSg0KScsICdbImEiLCAiYSIsICJh
IiwgImEiXScpOworc2hvdWxkQmUoJ3Vuc2hpZnQyKDEpJywgJ1siYSIsICJiIl0nKTsKK3Nob3Vs
ZEJlKCd1bnNoaWZ0MigyKScsICdbImEiLCAiYiIsICJhIiwgImIiXScpOworc2hvdWxkQmUoJ3Vu
c2hpZnQyKDQpJywgJ1siYSIsICJiIiwgImEiLCAiYiIsICJhIiwgImIiLCAiYSIsICJiIl0nKTsK
K3Nob3VsZEJlKCd1bnNoaWZ0MigxMCknLCAnWyJhIiwgImIiLCAiYSIsICJiIiwgImEiLCAiYiIs
ICJhIiwgImIiLCAiYSIsICJiIiwgImEiLCAiYiIsICJhIiwgImIiLCAiYSIsICJiIiwgImEiLCAi
YiIsICJhIiwgImIiXScpOworc2hvdWxkQmUoJ3Vuc2hpZnQ1KDEpJywgJ1siYSIsICJiIiwgImMi
LCAiZCIsICJlIl0nKTsKK3Nob3VsZEJlKCd1bnNoaWZ0NSgyKScsICdbImEiLCAiYiIsICJjIiwg
ImQiLCAiZSIsICJhIiwgImIiLCAiYyIsICJkIiwgImUiXScpOworc2hvdWxkQmUoJ3Vuc2hpZnQ1
KDYpJywgJ1siYSIsICJiIiwgImMiLCAiZCIsICJlIiwgImEiLCAiYiIsICJjIiwgImQiLCAiZSIs
ICJhIiwgImIiLCAiYyIsICJkIiwgImUiLCAiYSIsICJiIiwgImMiLCAiZCIsICJlIiwgImEiLCAi
YiIsICJjIiwgImQiLCAiZSIsICJhIiwgImIiLCAiYyIsICJkIiwgImUiXScpOworICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIAordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>