<?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>88936</bug_id>
          
          <creation_ts>2012-06-12 16:43:55 -0700</creation_ts>
          <short_desc>StringImpl::characters can return NULL for an empty string</short_desc>
          <delta_ts>2012-08-26 01:13:40 -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>Web Template Framework</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>UNCONFIRMED</bug_status>
          <resolution></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>0</everconfirmed>
          <reporter name="Myles C. Maxfield">litherum</reporter>
          <assigned_to name="Myles C. Maxfield">litherum</assigned_to>
          <cc>ap</cc>
    
    <cc>benjamin</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>647473</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">litherum</who>
    <bug_when>2012-06-12 16:43:55 -0700</bug_when>
    <thetext>StringImpl::characters can return NULL for an empty string</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>647475</commentid>
    <comment_count>1</comment_count>
      <attachid>147191</attachid>
    <who name="Myles C. Maxfield">litherum</who>
    <bug_when>2012-06-12 16:45:59 -0700</bug_when>
    <thetext>Created attachment 147191
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>647481</commentid>
    <comment_count>2</comment_count>
    <who name="Myles C. Maxfield">litherum</who>
    <bug_when>2012-06-12 16:50:29 -0700</bug_when>
    <thetext>This is pretty hacky, but I&apos;m not sure I can think of a better way.

Callers of characters() shouldn&apos;t be free()ing the pointer, so this should be relatively safe.

One alternative would be to assign a non-NULL value to the m_copyData16 variable, and check for it on destruction, but I think this is a little cleaner. 

Another alternative would be to add a &quot;is-valid&quot; byte to each string, but the overhead of an extra byte to each string is probably not worth it.

If a reviewer can think of a less-hacky way to handle this, I&apos;d be happy to do that instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648241</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-06-13 10:46:32 -0700</bug_when>
    <thetext>The bug says that the function can return NULL, but not why it should. Can you explain that?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648356</commentid>
    <comment_count>4</comment_count>
    <who name="Myles C. Maxfield">litherum</who>
    <bug_when>2012-06-13 12:24:17 -0700</bug_when>
    <thetext>fastMalloc(x) can call malloc(x). According to C99 (about malloc): &quot;If the size of the space requested is zero, the behavior is implementation- deﬁned: either a null pointer is returned, or the behavior is as if the size were some nonzero value, except that the returned pointer shall not be used to access an object.&quot;

Should I add this to the comment?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648429</commentid>
    <comment_count>5</comment_count>
    <who name="Myles C. Maxfield">litherum</who>
    <bug_when>2012-06-13 13:50:19 -0700</bug_when>
    <thetext>Moving this check into ICU wrapper functions, since they&apos;ll be not as hot as characters()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648462</commentid>
    <comment_count>6</comment_count>
      <attachid>147410</attachid>
    <who name="Myles C. Maxfield">litherum</who>
    <bug_when>2012-06-13 14:21:13 -0700</bug_when>
    <thetext>Created attachment 147410
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648469</commentid>
    <comment_count>7</comment_count>
      <attachid>147410</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-06-13 14:33:54 -0700</bug_when>
    <thetext>Comment on attachment 147410
Patch

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

&gt; Source/WTF/wtf/unicode/icu/CollatorICU.cpp:106
&gt; +    if (!lhs &amp;&amp; !lhsLength)
&gt; +      lhs = (const UChar*)1;
&gt; +    if (!rhs &amp;&amp; !rhsLength)
&gt; +      rhs = (const UChar*)1;

Please use &quot;&quot; here instead.  I don&apos;t see any value in using a made up pointer value like 1.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648494</commentid>
    <comment_count>8</comment_count>
      <attachid>147419</attachid>
    <who name="Myles C. Maxfield">litherum</who>
    <bug_when>2012-06-13 15:00:44 -0700</bug_when>
    <thetext>Created attachment 147419
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648510</commentid>
    <comment_count>9</comment_count>
      <attachid>147419</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-06-13 15:29:29 -0700</bug_when>
    <thetext>Comment on attachment 147419
Patch

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

&gt; Source/WTF/wtf/unicode/icu/CollatorICU.cpp:101
&gt; +    // The ICU functions have the property where they assume that a null pointer means an invalid string
&gt; +    // (and therefore won&apos;t do the comparison). A null pointer could come about here if an empty string
&gt; +    // was allocated with a malloc() implementation that returns null on a zero-sized malloc (which is
&gt; +    // valid according to C99 section 7.20.3). Therefore, we have to change any valid null pointers before
&gt; +    // passing them to ICU.

Comment is much too long. Should say something more like this:

    // ICU does not allow null pointers for empty strings, but we do.

&gt; Source/WTF/wtf/unicode/icu/CollatorICU.cpp:106
&gt; +    if (!lhs &amp;&amp; !lhsLength)
&gt; +      lhs = (const UChar*)&quot;&quot;;
&gt; +    if (!rhs &amp;&amp; !rhsLength)
&gt; +      rhs = (const UChar*)&quot;&quot;;

This is wrong. You can’t just cast the pointer to an empty C string to a UChar* and expect it to work. That will read off the end of the buffer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648514</commentid>
    <comment_count>10</comment_count>
      <attachid>147419</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-06-13 15:31:31 -0700</bug_when>
    <thetext>Comment on attachment 147419
Patch

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

&gt;&gt; Source/WTF/wtf/unicode/icu/CollatorICU.cpp:106
&gt;&gt; +      rhs = (const UChar*)&quot;&quot;;
&gt; 
&gt; This is wrong. You can’t just cast the pointer to an empty C string to a UChar* and expect it to work. That will read off the end of the buffer.

Oh, I see, maybe I am wrong. This can literally be any pointer other than a null pointer! Still, do we really need a typecast? I suggest this:

    UChar character;
    if (!lhsLength)
        lhs = &amp;character;
    if (!rhsLength)
        rhs = &amp;character;

Lets avoid that messy casting and also avoid making the conditions too complex.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648525</commentid>
    <comment_count>11</comment_count>
      <attachid>147430</attachid>
    <who name="Myles C. Maxfield">litherum</who>
    <bug_when>2012-06-13 15:41:00 -0700</bug_when>
    <thetext>Created attachment 147430
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648541</commentid>
    <comment_count>12</comment_count>
      <attachid>147430</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-06-13 15:56:31 -0700</bug_when>
    <thetext>Comment on attachment 147430
Patch

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

&gt; Source/WTF/wtf/unicode/icu/CollatorICU.cpp:99
&gt; +    UChar dummy;

Can we make it static? Pointers pointing to random places are scary.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648561</commentid>
    <comment_count>13</comment_count>
    <who name="Myles C. Maxfield">litherum</who>
    <bug_when>2012-06-13 16:09:05 -0700</bug_when>
    <thetext>Well, it&apos;s the address of a stack variable, so it&apos;s not random, but I&apos;ll make it static anyway to marginally decrease the size of the stack during the duration of this call :-]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648562</commentid>
    <comment_count>14</comment_count>
      <attachid>147440</attachid>
    <who name="Myles C. Maxfield">litherum</who>
    <bug_when>2012-06-13 16:09:22 -0700</bug_when>
    <thetext>Created attachment 147440
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>648661</commentid>
    <comment_count>15</comment_count>
      <attachid>147440</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-06-13 18:34:29 -0700</bug_when>
    <thetext>Comment on attachment 147440
Patch

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

&gt; Source/WTF/wtf/unicode/icu/CollatorICU.cpp:99
&gt; +    static UChar dummy;

No need to make this static. A pointer to the stack is just as good as a pointer to a global variable.

&gt; Source/WTF/wtf/unicode/icu/CollatorICU.cpp:100
&gt; +    if (!lhs &amp;&amp; !lhsLength)

We don’t need to check both of these. Doesn’t matter which we check, but I don’t want an extra branch to check both. My preference would be to only check the length.

&gt; Source/WTF/wtf/unicode/icu/CollatorICU.cpp:101
&gt; +      lhs = &amp;dummy;

WebKit project indents 4 spaces, not 2.

&gt; Source/WTF/wtf/unicode/icu/CollatorICU.cpp:103
&gt; +    if (!rhs &amp;&amp; !rhsLength)
&gt; +      rhs = &amp;dummy;

Same comments again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>649255</commentid>
    <comment_count>16</comment_count>
      <attachid>147608</attachid>
    <who name="Myles C. Maxfield">litherum</who>
    <bug_when>2012-06-14 09:55:24 -0700</bug_when>
    <thetext>Created attachment 147608
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>651642</commentid>
    <comment_count>17</comment_count>
    <who name="Myles C. Maxfield">litherum</who>
    <bug_when>2012-06-18 13:08:22 -0700</bug_when>
    <thetext>Ping?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>653153</commentid>
    <comment_count>18</comment_count>
      <attachid>147608</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-06-19 20:56:20 -0700</bug_when>
    <thetext>Comment on attachment 147608
Patch

How can we test this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>653779</commentid>
    <comment_count>19</comment_count>
    <who name="Myles C. Maxfield">litherum</who>
    <bug_when>2012-06-20 12:40:06 -0700</bug_when>
    <thetext>I found this by running V8&apos;s mjsunit tests against JavaScriptCore. This was uncovered by http://v8.googlecode.com/svn/trunk/test/mjsunit/deep-recursion.js lines 52 and 55.

I suppose there are a couple options here:
1) Re-write the test as a C++ unit test, creating a Collator, calling collate with (null, 0, &quot;a&quot;, 1) and making sure it doesn&apos;t return &quot;Equal.&quot; I could also reverse the arguments and make sure the output is reversed. I&apos;m not sure where this unit test should end up living.

2) Add all of mjsunit to the JavaScriptCore tests inside Source/JavaScriptCore/tests

3) Add just deep-recursion.js to the JavaScriptCore tests inside Source/JavaScriptCore/tests

4) Add a comment saying this is tested in v8&apos;s mjsunit ;-)

This is complicated by the fact that it looks like the only tests in Source/JavaScriptCore/tests are regular expression tests (not applicable here), performance tests (also not applicable here) and the mozilla test suite. This test doesn&apos;t belong in any of those places. Also, adding existing source might get complicated because of possibly-conflicting licenses.

I&apos;m willing to do whatever the community thinks is best.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>659915</commentid>
    <comment_count>20</comment_count>
    <who name="Myles C. Maxfield">litherum</who>
    <bug_when>2012-06-28 16:04:08 -0700</bug_when>
    <thetext>Ping?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>695518</commentid>
    <comment_count>21</comment_count>
      <attachid>147608</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-08-14 16:27:21 -0700</bug_when>
    <thetext>Comment on attachment 147608
Patch

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

&gt; Source/WTF/ChangeLog:9
&gt; +        * wtf/text/StringImpl.h:
&gt; +        (WTF::StringImpl::characters):

This is not the function nor the file we are modifying.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>704750</commentid>
    <comment_count>22</comment_count>
      <attachid>160578</attachid>
    <who name="Myles C. Maxfield">litherum</who>
    <bug_when>2012-08-25 16:42:19 -0700</bug_when>
    <thetext>Created attachment 160578
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>704760</commentid>
    <comment_count>23</comment_count>
      <attachid>160578</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-08-25 17:18:18 -0700</bug_when>
    <thetext>Comment on attachment 160578
Patch

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

I would:
-modify Collator::collate to take two String or StringImpl instead of the raw data
-add the special cases based on the string classes. Why do we even have to invoke ucol_strcoll if one of the string is empty?
-Add a layout test and if possible add a test through Webkit test API.

Do we need ucol_strcoll if the two strings are 8bits anyway?

&gt; Source/WTF/ChangeLog:8
&gt; +        Additional information of the change such as approach, rationale. Please add per-function descriptions below (OOPS!).

No description.

&gt; Source/WTF/wtf/unicode/icu/CollatorICU.cpp:98
&gt; +

blank line.

&gt; Source/WTF/wtf/unicode/icu/CollatorICU.cpp:99
&gt; +    UChar dummy;

UChar dummy = 0;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>704814</commentid>
    <comment_count>24</comment_count>
    <who name="Myles C. Maxfield">litherum</who>
    <bug_when>2012-08-26 01:13:40 -0700</bug_when>
    <thetext>Darin had previously marked the patch as review+. Can you (Benjamin) and him (Darin) come to an agreement about what should be done? I&apos;d be happy to implement whatever solution is best, but I&apos;m not sure what that is.

Thanks,
Myles</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>147191</attachid>
            <date>2012-06-12 16:45:59 -0700</date>
            <delta_ts>2012-06-13 14:21:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-88936-20120612164600.patch</filename>
            <type>text/plain</type>
            <size>1667</size>
            <attacher name="Myles C. Maxfield">litherum</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxMjAxMzgpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDEyLTA2LTEyICBNeWxlcyBNYXhmaWVsZCAgPG1t
YXhmaWVsZEBnb29nbGUuY29tPgorCisgICAgICAgIFN0cmluZ0ltcGw6OmNoYXJhY3RlcnMgY2Fu
IHJldHVybiBOVUxMIGZvciBhbiBlbXB0eSBzdHJpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg4OTM2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3dGYvdGV4dC9TdHJpbmdJbXBsLmg6CisgICAgICAg
IChXVEY6OlN0cmluZ0ltcGw6OmNoYXJhY3RlcnMpOgorCiAyMDEyLTA2LTExICBKb2NlbHluIFR1
cmNvdHRlICA8am9jZWx5bi50dXJjb3R0ZUBub2tpYS5jb20+CiAKICAgICAgICAgVXNpbmcgZXh0
cmVybmFsIElDVSBsaWJyYXJ5IG9uIGNhc2UgdW5zZW5zaXRpdmUgZHJpdmVzIHdpbGwgbm90IHdv
cmsKSW5kZXg6IFNvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nSW1wbC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XVEYvd3RmL3RleHQvU3RyaW5nSW1wbC5oCShyZXZpc2lvbiAxMjAwOTQpCisrKyBT
b3VyY2UvV1RGL3d0Zi90ZXh0L1N0cmluZ0ltcGwuaAkod29ya2luZyBjb3B5KQpAQCAtMzU0LDcg
KzM1NCwxOCBAQCBwdWJsaWM6CiAgICAgICAgIGlmICghaXM4Qml0KCkpCiAgICAgICAgICAgICBy
ZXR1cm4gbV9kYXRhMTY7CiAKLSAgICAgICAgcmV0dXJuIGdldERhdGExNlNsb3dDYXNlKCk7Cisg
ICAgICAgIC8vIFRoaXMgcmV0dXJucyBhIHBvaW50ZXIgdG8gYSBtZW1vcnkgcmFuZ2UgdGhhdCBo
YXMgYmVlbiBmYXN0TWFsbG9jJ2VkLgorICAgICAgICAvLyBJZiB0aGUgc3RyaW5nIGlzIGVtcHR5
LCB0aGUgYXJndW1lbnQgdG8gZmFzdE1hbGxvYyB3aWxsIGJlIDAuIEhvd2V2ZXIsCisgICAgICAg
IC8vIGZhc3RNYWxsb2MoMCkgY2FuIHJldHVybiBhIE5VTEwgcG9pbnRlci4KKyAgICAgICAgLy8g
VGhlIG91dHB1dCBvZiB0aGlzIGZ1bmN0aW9uIGNhbiBiZSBwYXNzZWQgYXJvdW5kIHRvIGxpYnJh
cnkgZnVuY3Rpb25zLAorICAgICAgICAvLyBzdWNoIGFzIElDVSwgd2hvIG1pZ2h0IHRoaW5rIHRo
YXQgYSBOVUxMIHBvaW50ZXIgbWVhbnMgYW4gaW52YWxpZCBzdHJpbmcsCisgICAgICAgIC8vIChl
dmVuIHRob3VnaCBpdCdzIGp1c3QgZW1wdHkgYW5kIHZhbGlkKSBhbmQgYmVoYXZlIGRpZmZlcmVu
dGx5IHRoYW4gZXhwZWN0ZWQuCisgICAgICAgIGNvbnN0IFVDaGFyKiBvdXRwdXQgPSBnZXREYXRh
MTZTbG93Q2FzZSgpOworICAgICAgICBpZiAoIW91dHB1dCkgeworICAgICAgICAgICAgQVNTRVJU
KCFsZW5ndGgoKSk7CisgICAgICAgICAgICByZXR1cm4gKGNvbnN0IFVDaGFyKikxOworICAgICAg
ICB9CisgICAgICAgIHJldHVybiBvdXRwdXQ7CiAgICAgfQogCiAgICAgdGVtcGxhdGUgPHR5cGVu
YW1lIENoYXJUeXBlPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>147410</attachid>
            <date>2012-06-13 14:21:13 -0700</date>
            <delta_ts>2012-06-13 15:00:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-88936-20120613142118.patch</filename>
            <type>text/plain</type>
            <size>1670</size>
            <attacher name="Myles C. Maxfield">litherum</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxMjAxMzgpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDEyLTA2LTEyICBNeWxlcyBNYXhmaWVsZCAgPG1t
YXhmaWVsZEBnb29nbGUuY29tPgorCisgICAgICAgIElDVSB2aWV3cyBudWxsIHBvaW50ZXJzIGFz
IGludmFsaWQsIGV2ZW4gaWYgdGhleSByZXByZXNlbnQgZW1wdHkgc3RyaW5ncworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODg5MzYKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHd0Zi90ZXh0L1N0cmluZ0lt
cGwuaDoKKyAgICAgICAgKFdURjo6U3RyaW5nSW1wbDo6Y2hhcmFjdGVycyk6CisKIDIwMTItMDYt
MTEgIEpvY2VseW4gVHVyY290dGUgIDxqb2NlbHluLnR1cmNvdHRlQG5va2lhLmNvbT4KIAogICAg
ICAgICBVc2luZyBleHRyZXJuYWwgSUNVIGxpYnJhcnkgb24gY2FzZSB1bnNlbnNpdGl2ZSBkcml2
ZXMgd2lsbCBub3Qgd29yawpJbmRleDogU291cmNlL1dURi93dGYvdW5pY29kZS9pY3UvQ29sbGF0
b3JJQ1UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL3VuaWNvZGUvaWN1L0NvbGxh
dG9ySUNVLmNwcAkocmV2aXNpb24gMTIwMDk0KQorKysgU291cmNlL1dURi93dGYvdW5pY29kZS9p
Y3UvQ29sbGF0b3JJQ1UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05NCw2ICs5NCwxNyBAQCBDb2xs
YXRvcjo6UmVzdWx0IENvbGxhdG9yOjpjb2xsYXRlKGNvbnN0CiAgICAgaWYgKCFtX2NvbGxhdG9y
KQogICAgICAgICBjcmVhdGVDb2xsYXRvcigpOwogCisgICAgLy8gVGhlIElDVSBmdW5jdGlvbnMg
aGF2ZSB0aGUgcHJvcGVydHkgd2hlcmUgdGhleSBhc3N1bWUgdGhhdCBhIG51bGwgcG9pbnRlciBt
ZWFucyBhbiBpbnZhbGlkIHN0cmluZworICAgIC8vIChhbmQgdGhlcmVmb3JlIHdvbid0IGRvIHRo
ZSBjb21wYXJpc29uKS4gQSBudWxsIHBvaW50ZXIgY291bGQgY29tZSBhYm91dCBoZXJlIGlmIGFu
IGVtcHR5IHN0cmluZworICAgIC8vIHdhcyBhbGxvY2F0ZWQgd2l0aCBhIG1hbGxvYygpIGltcGxl
bWVudGF0aW9uIHRoYXQgcmV0dXJucyBudWxsIG9uIGEgemVyby1zaXplZCBtYWxsb2MgKHdoaWNo
IGlzCisgICAgLy8gdmFsaWQgYWNjb3JkaW5nIHRvIEM5OSBzZWN0aW9uIDcuMjAuMykuIFRoZXJl
Zm9yZSwgd2UgaGF2ZSB0byBjaGFuZ2UgYW55IHZhbGlkIG51bGwgcG9pbnRlcnMgYmVmb3JlCisg
ICAgLy8gcGFzc2luZyB0aGVtIHRvIElDVS4KKworICAgIGlmICghbGhzICYmICFsaHNMZW5ndGgp
CisgICAgICBsaHMgPSAoY29uc3QgVUNoYXIqKTE7CisgICAgaWYgKCFyaHMgJiYgIXJoc0xlbmd0
aCkKKyAgICAgIHJocyA9IChjb25zdCBVQ2hhciopMTsKKwogICAgIHJldHVybiBzdGF0aWNfY2Fz
dDxSZXN1bHQ+KHVjb2xfc3RyY29sbChtX2NvbGxhdG9yLCBsaHMsIGxoc0xlbmd0aCwgcmhzLCBy
aHNMZW5ndGgpKTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>147419</attachid>
            <date>2012-06-13 15:00:44 -0700</date>
            <delta_ts>2012-06-13 15:40:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-88936-20120613150048.patch</filename>
            <type>text/plain</type>
            <size>1672</size>
            <attacher name="Myles C. Maxfield">litherum</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxMjAxMzgpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDEyLTA2LTEyICBNeWxlcyBNYXhmaWVsZCAgPG1t
YXhmaWVsZEBnb29nbGUuY29tPgorCisgICAgICAgIElDVSB2aWV3cyBudWxsIHBvaW50ZXJzIGFz
IGludmFsaWQsIGV2ZW4gaWYgdGhleSByZXByZXNlbnQgZW1wdHkgc3RyaW5ncworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODg5MzYKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHd0Zi90ZXh0L1N0cmluZ0lt
cGwuaDoKKyAgICAgICAgKFdURjo6U3RyaW5nSW1wbDo6Y2hhcmFjdGVycyk6CisKIDIwMTItMDYt
MTEgIEpvY2VseW4gVHVyY290dGUgIDxqb2NlbHluLnR1cmNvdHRlQG5va2lhLmNvbT4KIAogICAg
ICAgICBVc2luZyBleHRyZXJuYWwgSUNVIGxpYnJhcnkgb24gY2FzZSB1bnNlbnNpdGl2ZSBkcml2
ZXMgd2lsbCBub3Qgd29yawpJbmRleDogU291cmNlL1dURi93dGYvdW5pY29kZS9pY3UvQ29sbGF0
b3JJQ1UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL3VuaWNvZGUvaWN1L0NvbGxh
dG9ySUNVLmNwcAkocmV2aXNpb24gMTIwMDk0KQorKysgU291cmNlL1dURi93dGYvdW5pY29kZS9p
Y3UvQ29sbGF0b3JJQ1UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05NCw2ICs5NCwxNyBAQCBDb2xs
YXRvcjo6UmVzdWx0IENvbGxhdG9yOjpjb2xsYXRlKGNvbnN0CiAgICAgaWYgKCFtX2NvbGxhdG9y
KQogICAgICAgICBjcmVhdGVDb2xsYXRvcigpOwogCisgICAgLy8gVGhlIElDVSBmdW5jdGlvbnMg
aGF2ZSB0aGUgcHJvcGVydHkgd2hlcmUgdGhleSBhc3N1bWUgdGhhdCBhIG51bGwgcG9pbnRlciBt
ZWFucyBhbiBpbnZhbGlkIHN0cmluZworICAgIC8vIChhbmQgdGhlcmVmb3JlIHdvbid0IGRvIHRo
ZSBjb21wYXJpc29uKS4gQSBudWxsIHBvaW50ZXIgY291bGQgY29tZSBhYm91dCBoZXJlIGlmIGFu
IGVtcHR5IHN0cmluZworICAgIC8vIHdhcyBhbGxvY2F0ZWQgd2l0aCBhIG1hbGxvYygpIGltcGxl
bWVudGF0aW9uIHRoYXQgcmV0dXJucyBudWxsIG9uIGEgemVyby1zaXplZCBtYWxsb2MgKHdoaWNo
IGlzCisgICAgLy8gdmFsaWQgYWNjb3JkaW5nIHRvIEM5OSBzZWN0aW9uIDcuMjAuMykuIFRoZXJl
Zm9yZSwgd2UgaGF2ZSB0byBjaGFuZ2UgYW55IHZhbGlkIG51bGwgcG9pbnRlcnMgYmVmb3JlCisg
ICAgLy8gcGFzc2luZyB0aGVtIHRvIElDVS4KKworICAgIGlmICghbGhzICYmICFsaHNMZW5ndGgp
CisgICAgICBsaHMgPSAoY29uc3QgVUNoYXIqKSIiOworICAgIGlmICghcmhzICYmICFyaHNMZW5n
dGgpCisgICAgICByaHMgPSAoY29uc3QgVUNoYXIqKSIiOworCiAgICAgcmV0dXJuIHN0YXRpY19j
YXN0PFJlc3VsdD4odWNvbF9zdHJjb2xsKG1fY29sbGF0b3IsIGxocywgbGhzTGVuZ3RoLCByaHMs
IHJoc0xlbmd0aCkpOwogfQogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>147430</attachid>
            <date>2012-06-13 15:41:00 -0700</date>
            <delta_ts>2012-06-13 16:09:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-88936-20120613154105.patch</filename>
            <type>text/plain</type>
            <size>1289</size>
            <attacher name="Myles C. Maxfield">litherum</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxMjAxMzgpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDEyLTA2LTEyICBNeWxlcyBNYXhmaWVsZCAgPG1t
YXhmaWVsZEBnb29nbGUuY29tPgorCisgICAgICAgIElDVSB2aWV3cyBudWxsIHBvaW50ZXJzIGFz
IGludmFsaWQsIGV2ZW4gaWYgdGhleSByZXByZXNlbnQgZW1wdHkgc3RyaW5ncworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODg5MzYKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHd0Zi90ZXh0L1N0cmluZ0lt
cGwuaDoKKyAgICAgICAgKFdURjo6U3RyaW5nSW1wbDo6Y2hhcmFjdGVycyk6CisKIDIwMTItMDYt
MTEgIEpvY2VseW4gVHVyY290dGUgIDxqb2NlbHluLnR1cmNvdHRlQG5va2lhLmNvbT4KIAogICAg
ICAgICBVc2luZyBleHRyZXJuYWwgSUNVIGxpYnJhcnkgb24gY2FzZSB1bnNlbnNpdGl2ZSBkcml2
ZXMgd2lsbCBub3Qgd29yawpJbmRleDogU291cmNlL1dURi93dGYvdW5pY29kZS9pY3UvQ29sbGF0
b3JJQ1UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL3VuaWNvZGUvaWN1L0NvbGxh
dG9ySUNVLmNwcAkocmV2aXNpb24gMTIwMDk0KQorKysgU291cmNlL1dURi93dGYvdW5pY29kZS9p
Y3UvQ29sbGF0b3JJQ1UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05NCw2ICs5NCwxNCBAQCBDb2xs
YXRvcjo6UmVzdWx0IENvbGxhdG9yOjpjb2xsYXRlKGNvbnN0CiAgICAgaWYgKCFtX2NvbGxhdG9y
KQogICAgICAgICBjcmVhdGVDb2xsYXRvcigpOwogCisgICAgLy8gSUNVIGRvZXMgbm90IGFsbG93
IG51bGwgcG9pbnRlcnMgZm9yIGVtcHR5IHN0cmluZ3MsIGJ1dCB3ZSBkby4KKworICAgIFVDaGFy
IGR1bW15OworICAgIGlmICghbGhzICYmICFsaHNMZW5ndGgpCisgICAgICBsaHMgPSAmZHVtbXk7
CisgICAgaWYgKCFyaHMgJiYgIXJoc0xlbmd0aCkKKyAgICAgIHJocyA9ICZkdW1teTsKKwogICAg
IHJldHVybiBzdGF0aWNfY2FzdDxSZXN1bHQ+KHVjb2xfc3RyY29sbChtX2NvbGxhdG9yLCBsaHMs
IGxoc0xlbmd0aCwgcmhzLCByaHNMZW5ndGgpKTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>147440</attachid>
            <date>2012-06-13 16:09:22 -0700</date>
            <delta_ts>2012-06-14 09:55:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-88936-20120613160927.patch</filename>
            <type>text/plain</type>
            <size>1296</size>
            <attacher name="Myles C. Maxfield">litherum</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxMjAxMzgpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDEyLTA2LTEyICBNeWxlcyBNYXhmaWVsZCAgPG1t
YXhmaWVsZEBnb29nbGUuY29tPgorCisgICAgICAgIElDVSB2aWV3cyBudWxsIHBvaW50ZXJzIGFz
IGludmFsaWQsIGV2ZW4gaWYgdGhleSByZXByZXNlbnQgZW1wdHkgc3RyaW5ncworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODg5MzYKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHd0Zi90ZXh0L1N0cmluZ0lt
cGwuaDoKKyAgICAgICAgKFdURjo6U3RyaW5nSW1wbDo6Y2hhcmFjdGVycyk6CisKIDIwMTItMDYt
MTEgIEpvY2VseW4gVHVyY290dGUgIDxqb2NlbHluLnR1cmNvdHRlQG5va2lhLmNvbT4KIAogICAg
ICAgICBVc2luZyBleHRyZXJuYWwgSUNVIGxpYnJhcnkgb24gY2FzZSB1bnNlbnNpdGl2ZSBkcml2
ZXMgd2lsbCBub3Qgd29yawpJbmRleDogU291cmNlL1dURi93dGYvdW5pY29kZS9pY3UvQ29sbGF0
b3JJQ1UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL3VuaWNvZGUvaWN1L0NvbGxh
dG9ySUNVLmNwcAkocmV2aXNpb24gMTIwMDk0KQorKysgU291cmNlL1dURi93dGYvdW5pY29kZS9p
Y3UvQ29sbGF0b3JJQ1UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05NCw2ICs5NCwxNCBAQCBDb2xs
YXRvcjo6UmVzdWx0IENvbGxhdG9yOjpjb2xsYXRlKGNvbnN0CiAgICAgaWYgKCFtX2NvbGxhdG9y
KQogICAgICAgICBjcmVhdGVDb2xsYXRvcigpOwogCisgICAgLy8gSUNVIGRvZXMgbm90IGFsbG93
IG51bGwgcG9pbnRlcnMgZm9yIGVtcHR5IHN0cmluZ3MsIGJ1dCB3ZSBkby4KKworICAgIHN0YXRp
YyBVQ2hhciBkdW1teTsKKyAgICBpZiAoIWxocyAmJiAhbGhzTGVuZ3RoKQorICAgICAgbGhzID0g
JmR1bW15OworICAgIGlmICghcmhzICYmICFyaHNMZW5ndGgpCisgICAgICByaHMgPSAmZHVtbXk7
CisKICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8UmVzdWx0Pih1Y29sX3N0cmNvbGwobV9jb2xsYXRv
ciwgbGhzLCBsaHNMZW5ndGgsIHJocywgcmhzTGVuZ3RoKSk7CiB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>147608</attachid>
            <date>2012-06-14 09:55:24 -0700</date>
            <delta_ts>2012-08-25 16:42:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-88936-20120614095531.patch</filename>
            <type>text/plain</type>
            <size>1277</size>
            <attacher name="Myles C. Maxfield">litherum</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxMjAxMzgpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDEyLTA2LTEyICBNeWxlcyBNYXhmaWVsZCAgPG1t
YXhmaWVsZEBnb29nbGUuY29tPgorCisgICAgICAgIElDVSB2aWV3cyBudWxsIHBvaW50ZXJzIGFz
IGludmFsaWQsIGV2ZW4gaWYgdGhleSByZXByZXNlbnQgZW1wdHkgc3RyaW5ncworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODg5MzYKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHd0Zi90ZXh0L1N0cmluZ0lt
cGwuaDoKKyAgICAgICAgKFdURjo6U3RyaW5nSW1wbDo6Y2hhcmFjdGVycyk6CisKIDIwMTItMDYt
MTEgIEpvY2VseW4gVHVyY290dGUgIDxqb2NlbHluLnR1cmNvdHRlQG5va2lhLmNvbT4KIAogICAg
ICAgICBVc2luZyBleHRyZXJuYWwgSUNVIGxpYnJhcnkgb24gY2FzZSB1bnNlbnNpdGl2ZSBkcml2
ZXMgd2lsbCBub3Qgd29yawpJbmRleDogU291cmNlL1dURi93dGYvdW5pY29kZS9pY3UvQ29sbGF0
b3JJQ1UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvd3RmL3VuaWNvZGUvaWN1L0NvbGxh
dG9ySUNVLmNwcAkocmV2aXNpb24gMTIwMDk0KQorKysgU291cmNlL1dURi93dGYvdW5pY29kZS9p
Y3UvQ29sbGF0b3JJQ1UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05NCw2ICs5NCwxNCBAQCBDb2xs
YXRvcjo6UmVzdWx0IENvbGxhdG9yOjpjb2xsYXRlKGNvbnN0CiAgICAgaWYgKCFtX2NvbGxhdG9y
KQogICAgICAgICBjcmVhdGVDb2xsYXRvcigpOwogCisgICAgLy8gSUNVIGRvZXMgbm90IGFsbG93
IG51bGwgcG9pbnRlcnMgZm9yIGVtcHR5IHN0cmluZ3MsIGJ1dCB3ZSBkby4KKworICAgIFVDaGFy
IGR1bW15OworICAgIGlmICghbGhzTGVuZ3RoKQorICAgICAgICBsaHMgPSAmZHVtbXk7CisgICAg
aWYgKCFyaHNMZW5ndGgpCisgICAgICAgIHJocyA9ICZkdW1teTsKKwogICAgIHJldHVybiBzdGF0
aWNfY2FzdDxSZXN1bHQ+KHVjb2xfc3RyY29sbChtX2NvbGxhdG9yLCBsaHMsIGxoc0xlbmd0aCwg
cmhzLCByaHNMZW5ndGgpKTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>160578</attachid>
            <date>2012-08-25 16:42:19 -0700</date>
            <delta_ts>2012-08-25 17:18:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-88936-20120825164213.patch</filename>
            <type>text/plain</type>
            <size>1387</size>
            <attacher name="Myles C. Maxfield">litherum</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxMjY2OTApCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDEyLTA4LTI1ICBNeWxlcyBDLiBNYXhmaWVsZCAg
PGxpdGhlcnVtQGdtYWlsLmNvbT4KKworICAgICAgICBJQ1Ugdmlld3MgbnVsbCBwb2ludGVycyBh
cyBpbnZhbGlkLCBldmVuIGlmIHRoZXkgcmVwcmVzZW50IGVtcHR5IHN0cmluZ3MKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg4OTM2CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkaXRpb25hbCBpbmZvcm1h
dGlvbiBvZiB0aGUgY2hhbmdlIHN1Y2ggYXMgYXBwcm9hY2gsIHJhdGlvbmFsZS4gUGxlYXNlIGFk
ZCBwZXItZnVuY3Rpb24gZGVzY3JpcHRpb25zIGJlbG93IChPT1BTISkuCisKKyAgICAgICAgKiB3
dGYvdW5pY29kZS9pY3UvQ29sbGF0b3JJQ1UuY3BwOgorICAgICAgICAoV1RGOjpDb2xsYXRvcjo6
Y29sbGF0ZSk6CisKIDIwMTItMDgtMjQgIEJlbmphbWluIFBvdWxhaW4gIDxiZW5qYW1pbkB3ZWJr
aXQub3JnPgogCiAgICAgICAgIFRvdWNoIFBsYXRmb3JtLmggdG8gc29sdmUgYSBidWlsZCBkZXBl
bmRlbmN5IGlzc3VlCkluZGV4OiBTb3VyY2UvV1RGL3d0Zi91bmljb2RlL2ljdS9Db2xsYXRvcklD
VS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93dGYvdW5pY29kZS9pY3UvQ29sbGF0b3JJ
Q1UuY3BwCShyZXZpc2lvbiAxMjY2ODkpCisrKyBTb3VyY2UvV1RGL3d0Zi91bmljb2RlL2ljdS9D
b2xsYXRvcklDVS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk0LDYgKzk0LDE0IEBAIENvbGxhdG9y
OjpSZXN1bHQgQ29sbGF0b3I6OmNvbGxhdGUoY29uc3QKICAgICBpZiAoIW1fY29sbGF0b3IpCiAg
ICAgICAgIGNyZWF0ZUNvbGxhdG9yKCk7CiAKKyAgICAvLyBJQ1UgZG9lcyBub3QgYWxsb3cgbnVs
bCBwb2ludGVycyBmb3IgZW1wdHkgc3RyaW5ncywgYnV0IHdlIGRvLgorCisgICAgVUNoYXIgZHVt
bXk7CisgICAgaWYgKCFsaHNMZW5ndGgpCisgICAgICAgIGxocyA9ICZkdW1teTsKKyAgICBpZiAo
IXJoc0xlbmd0aCkKKyAgICAgICAgcmhzID0gJmR1bW15OworCiAgICAgcmV0dXJuIHN0YXRpY19j
YXN0PFJlc3VsdD4odWNvbF9zdHJjb2xsKG1fY29sbGF0b3IsIGxocywgbGhzTGVuZ3RoLCByaHMs
IHJoc0xlbmd0aCkpOwogfQogCg==
</data>
<flag name="review"
          id="171167"
          type_id="1"
          status="-"
          setter="benjamin"
    />
    <flag name="commit-queue"
          id="171168"
          type_id="3"
          status="-"
          setter="benjamin"
    />
          </attachment>
      

    </bug>

</bugzilla>