<?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>61556</bug_id>
          
          <creation_ts>2011-05-26 13:52:59 -0700</creation_ts>
          <short_desc>REGRESSION(87152): Crash on page with svg fonts</short_desc>
          <delta_ts>2011-07-01 16:13:49 -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>New Bugs</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>http://www.upokecenter.com/dex/</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="James Robinson">jamesr</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>adele</cc>
    
    <cc>hyatt</cc>
    
    <cc>inferno</cc>
    
    <cc>koivisto</cc>
    
    <cc>mdelaney7</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>410794</commentid>
    <comment_count>0</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-05-26 13:52:59 -0700</bug_when>
    <thetext>The URL in the bug crashes after r87152 with a null pointer deref.  The crash is here (http://trac.webkit.org/browser/trunk/Source/WebCore/rendering/svg/SVGTextRunRenderingContext.cpp?rev=87152#L268):

RenderObject* parentRenderObject = firstParentRendererForNonTextNode(renderObject); 
	
String language = toElement(parentRenderObject-&gt;node())-&gt;getAttribute(XMLNames::langAttr);

parentRenderObject is null.  I&apos;m pretty sure that the definition of firstParentRendererForNonTextNode() is wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>410798</commentid>
    <comment_count>1</comment_count>
    <who name="Abhishek Arya">inferno</who>
    <bug_when>2011-05-26 13:54:54 -0700</bug_when>
    <thetext>I think you meant parentRenderObject-&gt;node() is null because of anonymous nodes :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>410799</commentid>
    <comment_count>2</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-05-26 13:56:24 -0700</bug_when>
    <thetext>Right right</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>412694</commentid>
    <comment_count>3</comment_count>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2011-05-31 09:19:39 -0700</bug_when>
    <thetext>This happens on OS X but not QtWebKit. However maybe the latter has something not implemented that causes the crash. Anyway, Niko said he is close to landing improved SVG Fonts support, so maybe we should check after that work.
Cheers,

Rob.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>417134</commentid>
    <comment_count>4</comment_count>
      <attachid>96393</attachid>
    <who name="Berend-Jan Wever">skylined</who>
    <bug_when>2011-06-08 00:58:38 -0700</bug_when>
    <thetext>Created attachment 96393
Repro</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>418408</commentid>
    <comment_count>5</comment_count>
      <attachid>96667</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2011-06-09 17:15:07 -0700</bug_when>
    <thetext>Created attachment 96667
Preliminary patch

We were assuming that the parent of a SVG-font-styled block had an actual node, but it could have an anonymous node.

This fixes both the URL given in this bug&apos;s description, and my test case (which I&apos;ll post momentarily), but does not fix 96393: Repro (it gets past that crash, and to something else entirely).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>418415</commentid>
    <comment_count>6</comment_count>
      <attachid>96669</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2011-06-09 17:16:53 -0700</bug_when>
    <thetext>Created attachment 96669
A very short test case for this crash</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>418417</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-09 17:19:06 -0700</bug_when>
    <thetext>Attachment 96667 did not pass style-queue:

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

Source/WebCore/ChangeLog:1:  ChangeLog entry has no bug number  [changelog/bugnumber] [5]
Source/WebCore/rendering/svg/SVGTextRunRenderingContext.cpp:271:  Missing space before ( in if(  [whitespace/parens] [5]
Source/WebCore/rendering/svg/SVGTextRunRenderingContext.cpp:353:  Missing space before ( in if(  [whitespace/parens] [5]
Total errors found: 3 in 2 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>418474</commentid>
    <comment_count>8</comment_count>
      <attachid>96691</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2011-06-09 19:38:57 -0700</bug_when>
    <thetext>Created attachment 96691
Revise patch style</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>418478</commentid>
    <comment_count>9</comment_count>
      <attachid>96692</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2011-06-09 19:58:48 -0700</bug_when>
    <thetext>Created attachment 96692
Style-updated patch which actually applies (sorry!)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>418545</commentid>
    <comment_count>10</comment_count>
      <attachid>96692</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2011-06-10 00:05:25 -0700</bug_when>
    <thetext>Comment on attachment 96692
Style-updated patch which actually applies (sorry!)

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

This definitely needs a crash and regression test (both can be one test in this case).

&gt; Source/WebCore/ChangeLog:9
&gt; +        We can&apos;t assume that the parent of a SVG-font-styled
&gt; +        text node won&apos;t be an anonymous block.
&gt; +        http://bugs.webkit.org/show_bug.cgi?id=61556
&gt; +
&gt; +        No new tests. (OOPS!)

The style is wrong:

bugtitle
bugURL

text

&gt; Source/WebCore/rendering/svg/SVGTextRunRenderingContext.cpp:-80
&gt; -    ASSERT(newRenderer-&gt;node());
&gt; -    ASSERT(newRenderer-&gt;node()-&gt;isElementNode());

Why did you remove these asserts?

&gt; Source/WebCore/rendering/svg/SVGTextRunRenderingContext.cpp:270
&gt; +        String language;

What happens if language is empty? Seems that we assumed that we have lang set.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>418748</commentid>
    <comment_count>11</comment_count>
      <attachid>96692</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2011-06-10 09:50:26 -0700</bug_when>
    <thetext>Comment on attachment 96692
Style-updated patch which actually applies (sorry!)

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

I&apos;ll fix the one comment here, add a test, and resubmit.

&gt;&gt; Source/WebCore/ChangeLog:9
&gt;&gt; +        No new tests. (OOPS!)
&gt; 
&gt; The style is wrong:
&gt; 
&gt; bugtitle
&gt; bugURL
&gt; 
&gt; text

Ok, Will Fix.

&gt;&gt; Source/WebCore/rendering/svg/SVGTextRunRenderingContext.cpp:-80
&gt;&gt; -    ASSERT(newRenderer-&gt;node()-&gt;isElementNode());
&gt; 
&gt; Why did you remove these asserts?

These asserts assume that the parent of a text node is never anonymous, which is incorrect. These were added in r87152, and are the root cause of this bug.

&gt;&gt; Source/WebCore/rendering/svg/SVGTextRunRenderingContext.cpp:270
&gt;&gt; +        String language;
&gt; 
&gt; What happens if language is empty? Seems that we assumed that we have lang set.

The only function outside of this file that language is passed to is isCompatibleGlyph, which correctly handles the empty language case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>418777</commentid>
    <comment_count>12</comment_count>
      <attachid>96757</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2011-06-10 10:45:21 -0700</bug_when>
    <thetext>Created attachment 96757
Revision of the last patch, with a crash test and revised ChangeLog entry</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>418843</commentid>
    <comment_count>13</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2011-06-10 12:40:54 -0700</bug_when>
    <thetext>The remaining issue (once it gets past this crash) with attachment #96393 is equivalent to https://bugs.webkit.org/show_bug.cgi?id=60237</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>419687</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-13 10:58:10 -0700</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 96757:

fast/dom/NodeList/5725058-crash-scenario-1.html bug 62577 (authors: mrowe@apple.com and sam@webkit.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>419688</commentid>
    <comment_count>15</comment_count>
      <attachid>96757</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-13 10:59:39 -0700</bug_when>
    <thetext>Comment on attachment 96757
Revision of the last patch, with a crash test and revised ChangeLog entry

Clearing flags on attachment: 96757

Committed r88652: &lt;http://trac.webkit.org/changeset/88652&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>419689</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-06-13 10:59:45 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>419691</commentid>
    <comment_count>17</comment_count>
      <attachid>96757</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-06-13 11:02:30 -0700</bug_when>
    <thetext>Comment on attachment 96757
Revision of the last patch, with a crash test and revised ChangeLog entry

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

&gt; Source/WebCore/rendering/svg/SVGTextRunRenderingContext.cpp:272
&gt; +        String language;
&gt; +        if (SVGElement* element = static_cast&lt;SVGElement*&gt;(parentRenderObject-&gt;node()))
&gt; +            language = element-&gt;getAttribute(XMLNames::langAttr);

Attribute values are of type AtomicString. Normally it would be best to use that type for the local variable containing the attribute value too; depending on how the value is actually used, you could save a bit of work knowing at compile time that it was already uniqued.

Seems unnecessarily risky to cast to SVGElement here where all we want to do is getAttribute. Could be a cast to Element* instead. But I suppose this is OK if there is an ironclad guarantee this will be an SVG element.

Also, this code can use fastGetAttribute.

&gt; Source/WebCore/rendering/svg/SVGTextRunRenderingContext.cpp:354
&gt; +        String language;
&gt; +        if (SVGElement* element = static_cast&lt;SVGElement*&gt;(parentRenderObject-&gt;node()))
&gt; +            language = element-&gt;getAttribute(XMLNames::langAttr);

Same comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>421473</commentid>
    <comment_count>18</comment_count>
      <attachid>97336</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2011-06-15 11:41:40 -0700</bug_when>
    <thetext>Created attachment 97336
Follow up patch, fixing Darin&apos;s comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>421486</commentid>
    <comment_count>19</comment_count>
      <attachid>97336</attachid>
    <who name="Rob Buis">rwlbuis</who>
    <bug_when>2011-06-15 12:05:52 -0700</bug_when>
    <thetext>Comment on attachment 97336
Follow up patch, fixing Darin&apos;s comments

LGTM</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>431499</commentid>
    <comment_count>20</comment_count>
    <who name="Adele Peterson">adele</who>
    <bug_when>2011-07-01 15:59:03 -0700</bug_when>
    <thetext>Reopening for Tim&apos;s follow up fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>431501</commentid>
    <comment_count>21</comment_count>
      <attachid>97336</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-01 16:01:47 -0700</bug_when>
    <thetext>Comment on attachment 97336
Follow up patch, fixing Darin&apos;s comments

Rejecting attachment 97336 from commit-queue.

Failed to run &quot;[&apos;./Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=ec2-cq-03&apos;, &apos;--port...&quot; exit_code: 2

Last 500 characters of output:
 u&apos;--force&apos;]&quot; exit_code: 1

Parsed 2 diffs from patch file(s).
patching file Source/WebCore/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file Source/WebCore/rendering/svg/SVGTextRunRenderingContext.cpp
Hunk #1 FAILED at 267.
Hunk #2 FAILED at 349.
2 out of 2 hunks FAILED -- saving rejects to file Source/WebCore/rendering/svg/SVGTextRunRenderingContext.cpp.rej

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, u&apos;--reviewer&apos;, u&apos;Rob Buis&apos;, u&apos;--force&apos;]&quot; exit_code: 1

Full output: http://queues.webkit.org/results/8976178</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>431509</commentid>
    <comment_count>22</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2011-07-01 16:13:40 -0700</bug_when>
    <thetext>Looks like Niko&apos;s big SVG Fonts/GlyphPage rework obsoleted this.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>96393</attachid>
            <date>2011-06-08 00:58:38 -0700</date>
            <delta_ts>2011-06-08 00:58:38 -0700</delta_ts>
            <desc>Repro</desc>
            <filename>repro.svg</filename>
            <type>image/svg+xml</type>
            <size>303</size>
            <attacher name="Berend-Jan Wever">skylined</attacher>
            
              <data encoding="base64">PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pgo8IURPQ1RZUEUgeCBQVUJMSUMg
IiIgIiI+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8c3R5bGU+
CiAgICAqOmFmdGVyIHsKICAgICAgY29udGVudDogIngiCiAgICB9CiAgPC9zdHlsZT4KICA8ZGVm
cz4KICAgIDxmb250PgogICAgICA8Zm9udC1mYWNlIGZvbnQtZmFtaWx5PSJTVkdBcmlhbCIgLz4K
ICAgIDwvZm9udD4KICA8L2RlZnM+CiAgPHRleHQgc3R5bGU9ImZvbnQtZmFtaWx5OlNWR0FyaWFs
OyI+PC90ZXh0Pgo8L3N2Zz4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>96667</attachid>
            <date>2011-06-09 17:15:07 -0700</date>
            <delta_ts>2011-06-09 19:38:57 -0700</delta_ts>
            <desc>Preliminary patch</desc>
            <filename>61556.patch</filename>
            <type>text/plain</type>
            <size>3626</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA3YWMxMmFjLi43MWUzM2EwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTgg
QEAKKzIwMTEtMDYtMDkgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgY2FuJ3Qg
YXNzdW1lIHRoYXQgdGhlIHBhcmVudCBvZiBhIFNWRy1mb250LXN0eWxlZAorICAgICAgICB0ZXh0
IG5vZGUgd29uJ3QgYmUgYW4gYW5vbnltb3VzIGJsb2NrLgorCisgICAgICAgIE5vIG5ldyB0ZXN0
cy4gKE9PUFMhKQorCisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9TVkdUZXh0UnVuUmVuZGVyaW5n
Q29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpmaXJzdFBhcmVudFJlbmRlcmVyRm9yTm9u
VGV4dE5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4dFJ1bldhbGtlcjo6d2Fsayk6Cisg
ICAgICAgIChXZWJDb3JlOjpmbG9hdFdpZHRoT2ZTdWJTdHJpbmdVc2luZ1NWR0ZvbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6U1ZHVGV4dFJ1blJlbmRlcmluZ0NvbnRleHQ6OmRyYXdUZXh0VXNpbmdT
VkdGb250KToKKwogMjAxMS0wNi0wNyAgSWFuIEhlbmRlcnNvbiAgPGlhbmhAYXBwbGUuY29tPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IERhbiBCZXJuc3RlaW4uCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRSdW5SZW5kZXJpbmdDb250ZXh0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dFJ1blJlbmRlcmluZ0NvbnRleHQuY3Bw
CmluZGV4IGVjNGUxMjIuLjg4NDg5ODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9zdmcvU1ZHVGV4dFJ1blJlbmRlcmluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dFJ1blJlbmRlcmluZ0NvbnRleHQuY3BwCkBAIC03Niw4
ICs3Niw2IEBAIHN0YXRpYyBpbmxpbmUgUmVuZGVyT2JqZWN0KiBmaXJzdFBhcmVudFJlbmRlcmVy
Rm9yTm9uVGV4dE5vZGUoUmVuZGVyT2JqZWN0KiByZW5kCiB7CiAgICAgQVNTRVJUKHJlbmRlcmVy
KTsKICAgICBSZW5kZXJPYmplY3QqIG5ld1JlbmRlcmVyID0gcmVuZGVyZXItPmlzVGV4dCgpID8g
cmVuZGVyZXItPnBhcmVudCgpIDogcmVuZGVyZXI7Ci0gICAgQVNTRVJUKG5ld1JlbmRlcmVyLT5u
b2RlKCkpOwotICAgIEFTU0VSVChuZXdSZW5kZXJlci0+bm9kZSgpLT5pc0VsZW1lbnROb2RlKCkp
OwogICAgIHJldHVybiBuZXdSZW5kZXJlcjsKIH0KIApAQCAtMTMxLDcgKzEyOSw3IEBAIHN0cnVj
dCBTVkdUZXh0UnVuV2Fsa2VyIHsKICAgICAgICAgYm9vbCBoYXZlQWx0R2x5cGggPSBmYWxzZTsK
ICAgICAgICAgU1ZHR2x5cGggYWx0R2x5cGhJZGVudGlmaWVyOwogICAgICAgICBOb2RlKiBub2Rl
ID0gcGFyZW50UmVuZGVyT2JqZWN0LT5ub2RlKCk7Ci0gICAgICAgIGlmIChub2RlLT5oYXNUYWdO
YW1lKFNWR05hbWVzOjphbHRHbHlwaFRhZykpIHsKKyAgICAgICAgaWYgKG5vZGUgJiYgbm9kZS0+
aGFzVGFnTmFtZShTVkdOYW1lczo6YWx0R2x5cGhUYWcpKSB7CiAgICAgICAgICAgICBpZiAoU1ZH
R2x5cGhFbGVtZW50KiBnbHlwaEVsZW1lbnQgPSBzdGF0aWNfY2FzdDxTVkdBbHRHbHlwaEVsZW1l
bnQqPihub2RlKS0+Z2x5cGhFbGVtZW50KCkpIHsKICAgICAgICAgICAgICAgICBoYXZlQWx0R2x5
cGggPSB0cnVlOwogICAgICAgICAgICAgICAgIGFsdEdseXBoSWRlbnRpZmllciA9IGdseXBoRWxl
bWVudC0+YnVpbGRHbHlwaElkZW50aWZpZXIoKTsKQEAgLTI2Nyw5ICsyNjUsMTIgQEAgc3RhdGlj
IGZsb2F0IGZsb2F0V2lkdGhPZlN1YlN0cmluZ1VzaW5nU1ZHRm9udChjb25zdCBGb250JiBmb250
LCBjb25zdCBUZXh0UnVuJgogICAgICAgICBkYXRhLmxlbmd0aCA9IDAuMGY7CiAKICAgICAgICAg
UmVuZGVyT2JqZWN0KiByZW5kZXJPYmplY3QgPSByZWZlcmVuY2luZ1JlbmRlck9iamVjdEZyb21S
dW4ocnVuKTsKLSAgICAgICAgUmVuZGVyT2JqZWN0KiBwYXJlbnRSZW5kZXJPYmplY3QgPSBmaXJz
dFBhcmVudFJlbmRlcmVyRm9yTm9uVGV4dE5vZGUocmVuZGVyT2JqZWN0KTsgCisgICAgICAgIFJl
bmRlck9iamVjdCogcGFyZW50UmVuZGVyT2JqZWN0ID0gZmlyc3RQYXJlbnRSZW5kZXJlckZvck5v
blRleHROb2RlKHJlbmRlck9iamVjdCk7CisKKyAgICAgICAgU3RyaW5nIGxhbmd1YWdlOworICAg
ICAgICBpZihTVkdFbGVtZW50KiBlbGVtZW50ID0gc3RhdGljX2Nhc3Q8U1ZHRWxlbWVudCo+KHBh
cmVudFJlbmRlck9iamVjdC0+bm9kZSgpKSkKKyAgICAgICAgICAgIGxhbmd1YWdlID0gZWxlbWVu
dC0+Z2V0QXR0cmlidXRlKFhNTE5hbWVzOjpsYW5nQXR0cik7CiAKLSAgICAgICAgU3RyaW5nIGxh
bmd1YWdlID0gdG9FbGVtZW50KHBhcmVudFJlbmRlck9iamVjdC0+bm9kZSgpKS0+Z2V0QXR0cmli
dXRlKFhNTE5hbWVzOjpsYW5nQXR0cik7CiAgICAgICAgIGJvb2wgaXNWZXJ0aWNhbFRleHQgPSBp
c1ZlcnRpY2FsV3JpdGluZ01vZGUocGFyZW50UmVuZGVyT2JqZWN0LT5zdHlsZSgpLT5zdmdTdHls
ZSgpKTsKIAogICAgICAgICBTVkdUZXh0UnVuV2Fsa2VyPFNWR1RleHRSdW5XYWxrZXJNZWFzdXJl
ZExlbmd0aERhdGE+IHJ1bldhbGtlcihmb250RGF0YSwgZm9udEVsZW1lbnQsIGRhdGEsIGZsb2F0
V2lkdGhVc2luZ1NWR0ZvbnRDYWxsYmFjaywgZmxvYXRXaWR0aE1pc3NpbmdHbHlwaENhbGxiYWNr
KTsKQEAgLTM0OCw4ICszNDksOSBAQCB2b2lkIFNWR1RleHRSdW5SZW5kZXJpbmdDb250ZXh0Ojpk
cmF3VGV4dFVzaW5nU1ZHRm9udChjb25zdCBGb250JiBmb250LCBHcmFwaGljcwogICAgICAgICBm
bG9hdCB4U3RhcnRPZmZzZXQgPSBmbG9hdFdpZHRoT2ZTdWJTdHJpbmdVc2luZ1NWR0ZvbnQoZm9u
dCwgcnVuLCAwLCBydW4ucnRsKCkgPyB0byA6IDAsIHJ1bi5ydGwoKSA/IHJ1bi5sZW5ndGgoKSA6
IGZyb20sIGNoYXJzQ29uc3VtZWQsIGdseXBoTmFtZSk7CiAgICAgICAgIEZsb2F0UG9pbnQgZ2x5
cGhPcmlnaW47CiAKLSAgICAgICAgTm9kZSogbm9kZSA9IHBhcmVudFJlbmRlck9iamVjdC0+bm9k
ZSgpOwotICAgICAgICBTdHJpbmcgbGFuZ3VhZ2UgPSB0b0VsZW1lbnQobm9kZSktPmdldEF0dHJp
YnV0ZShYTUxOYW1lczo6bGFuZ0F0dHIpOworICAgICAgICBTdHJpbmcgbGFuZ3VhZ2U7CisgICAg
ICAgIGlmKFNWR0VsZW1lbnQqIGVsZW1lbnQgPSBzdGF0aWNfY2FzdDxTVkdFbGVtZW50Kj4ocGFy
ZW50UmVuZGVyT2JqZWN0LT5ub2RlKCkpKQorICAgICAgICAgICAgbGFuZ3VhZ2UgPSBlbGVtZW50
LT5nZXRBdHRyaWJ1dGUoWE1MTmFtZXM6OmxhbmdBdHRyKTsKIAogICAgICAgICBSZW5kZXJTdHls
ZSogcGFyZW50UmVuZGVyT2JqZWN0U3R5bGUgPSBwYXJlbnRSZW5kZXJPYmplY3QtPnN0eWxlKCk7
CiAgICAgICAgIGJvb2wgaXNWZXJ0aWNhbFRleHQgPSBpc1ZlcnRpY2FsV3JpdGluZ01vZGUocGFy
ZW50UmVuZGVyT2JqZWN0U3R5bGUtPnN2Z1N0eWxlKCkpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>96669</attachid>
            <date>2011-06-09 17:16:53 -0700</date>
            <delta_ts>2011-06-09 17:16:53 -0700</delta_ts>
            <desc>A very short test case for this crash</desc>
            <filename>61556-repro.zip</filename>
            <type>application/zip</type>
            <size>35658</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">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
c4AzN4lEkqYhFSPKiEcY6d871pjRyEoe4jAhHvUswmixT+buGeB0O+dmQTNqZ0m0KvDv3DkARxv8
MicZiVkQU5inYbBiGK8F1fhYv7wZl+PWfiVcqIQ2asIP/0ivQmPW7i4YS/uS5CcxE/N5HrNc5F9J
uR9KZYmKEQoDl8YuRbKIRfbIZu2TLcTWgVUTUL/c3VLCGMsDzfPlrqJogwnxSRYMuiNs24Y1RD19
dIE03cRIV3UbaUOtp9iGqfY082lzhpIFP1BLBwhSu5JpMwEAAP8BAABQSwMEFAAIAAgADojJPgAA
AAAAAAAAAAAAABMAEABVYnVudHVUaXRsZUJvbGQuc3ZnVVgMABdi8U2bXvFN9QEUAOy9a5dcyXEd
+r1+xfHoLl/pWqfn5DtTEiWLpCRL5ki0RUmW78MXA/QMYPYAU0ChSY59//uNvSMyq86pruoGNKQp
CYtrcRDZ3VXnERkZjx07/uhPfvnN3XR/+/bdqzevf/CZu1k+m94dnr1+8ezuzevbH3z2+s1nf/LH
uz/6Nz/+mx/97B9/+mfTu/uvp5/+3Q9/8pc/mj6bP//8H8KPPv/8xz/78fS3f/8Xk7txn3/+Z3/9
2fTZy8Ph2z/4/PNf/OIXN78IN2/efv35X7x99u3LV8/ffS6/+Dl+Uf7oc/kw525eHF58Nsl34KPl
Yl6/+8EDf++XZcHvfya/+M3t4dmLZ4dnf7z70dvbZ4fbF9OXv5r+/M3rw5/Lb95O8qvZeb9Mzw7T
z16+n/7q/etpKpNrfxCXP0gZPy+76Ye/mr5+f/vu8Pu///u7H7359ldvX3398jD97vPfw8/T9KNn
r9+8fvX82d30k8OLm903z17c4lv+9PWLt7e/mP781eG7d6++efN6+t3pGZf+/Vd96eb5m29unr2f
fm/avb29u332Tq7v/esXt2+nw8vb6Sd/8dOfyB+d3ODXr9/zDp/LRdzdfnX4/O723bvbtzcvD/Ji
fm/35Zu7F9Pv5vR7/SVN8/TTZ+/v3kx/++ru/plIuJ8l+bD7o8+PT+aPXtx+9U7+85U8lunVix98
9ndfvn99eP+zV4e72x/KR342vXzz9tV387MX9/Mvf/BZTAvewTTxD+avnj2/nUSaJhO/eXX3q/PP
OP7GL27x+ORzluVk9d3h7e3h+Uto0dtvnt3pT96/fnV4N397+3a+/UYUbul/8a088Xe3s/vBZ35a
pjQF+f/xP/2VZ++e376Wb6n9b17c2srs+9Iv55f9WnK+abnp8vNn344f5FxvfNH1L798I7c/R3eT
ptnVdNNimmpablytU2n1JpTUr1ve4d2r17fzQRT556/lLf3gs7Rsf/jtm3evDtxLs1vGT189f/Pi
dn777PXXsqf+7t/JTf94lv/4H/8Iv/E5lPrVu3evXn89f333q29frl9OqO4zeRuf/zE/7I/0N/j/
8+tn38gH3rx+c5D3/dkH/hn/7TZ/tVz/G9kV3zx7+3O5Unm179++/qzf3A8++7e/88sXf/ih1/Du
W1G1kw+Zth8Q6vUPuP3l87tn35x8wr/Zqra86mknO+ALX+tNjn7yZdkv0xz8TWiTaI684zjNKd2E
XPYqizJ4f9NKkXX5NRe6vJ9DvPG+iFLiL3yFPbnxycsfivFMzcSpi/gl3+6DzzcxJPnesNykWPFr
rbgpuZvq494k+Rsv353kK3IwaR/CTaz4whR4+bjCpSb8jRNzpmKcuiifKPbvXm4v3SSfvtvJfbeb
FNJU4s1SiuO94+IWvcqGu5XPXnxy+7HA/8bWfzIWDn3B5PEX4w9M7p8odyz2vslPjj9wZWn707/r
v27SYfWlab+6qDydXDQ+6bvPrujH/v0bOSG+vFsrqvdbTU1LMjWJi7/JKU1RrEFusatKvaQr0XQj
b3Qln+lKelBX3FpXyn2ON+2oKmWlKkFVZaUpbqUptWtK7KqhmpLWmpJMU+5n+bqFeuJavqkpbm/8
Y+875+ON+/Wd913Tb13ka/e+lNObz62ubt+76zslXt0p/f53V7Xo9ftvvsTx+/WpwfudjQrV0FXI
R3+ztDiVpd5U53lhza6LNy0XIs8JF5KHOHUR1xWrXFjDU33p5MNCjPe54D/2aKhKLUd9MG5vEh+E
53NJyaR/2rfLWZmC26siLBM1oHaN2O27BphGrBWCGgRVUN3zuavDXsWj5nM9dvHlXByM8P2Mey/V
X7+Kj7uIuL6IvLqGfLwE8QXkq3dHM5C3+8FvN0Ta7oi075fQdwS10Oel7O3buR9a7ReDXwrN38s7
kw+uL+euBXY9v67L2T31ekqSFyOqPXOjpsaPgi4uUTdt5Sf5Ero8DRnqKZcpmqwGixoo+xUKGniw
LUVNhosZGi5nVTXxZSk38lq6Ymyuox2vQ25XN4Vdh7ctE6Yhc5vEnV1Ic3ohWS9EjJWKrm8N3RnV
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
Y4of+sOaEFkjftgS0q7qrZu7B/uL2+rWzels9+j2rZtHx3u31X9QSwcI8HJWtcF7AADDQwIAUEsD
BBQACAAIAA6IyT4AAAAAAAAAAAAAAAAeABAAX19NQUNPU1gvLl9VYnVudHVUaXRsZUJvbGQuc3Zn
VVgMABdi8U2bXvFN9QEUAGNgFWNnYGJg8E1MVvAPVohQgAKQGAMnEBsxMDAuBtJAPuNVBmQgwIAD
OIaEBEFYYB1/gPgmmhJmqLgpA4Nmcn6uXmJBQU6qXm5qSWJKYkmiVbavi2dJaq5LfnleTn5iSmqK
S2JJKsg8QyBRzcCgiltPeEZqUapbUX5uMUj9GiChycAgilBfWJpYlJhXkpmXypBUkJNZXGJgsJDR
2HHzwmnSq+MXcXBBHc4IdSgTmsOFEZriBXwySkoKrPT1U1LL0jJzUov1civzC1KLEvWA1uknFpVk
JgMF9c1NDfVDk0rzSkpDMktyUp3yc1L0isvSldHECFodWahvYGBgaG2SkmZommqZZB2cmJZYlGld
g/AcRIQBAFBLBwhv9Hl4FAEAANUBAABQSwECFQMUAAgACABzick+bMmO85YAAABDAQAACQAMAAAA
AAAAAABApIEAAAAAdGVzdC5odG1sVVgIADdi8U06YfFNUEsBAhUDCgAAAAAAAIrJPgAAAAAAAAAA
AAAAAAkADAAAAAAAAAAAQP1B3QAAAF9fTUFDT1NYL1VYCAA/YvFNP2LxTVBLAQIVAxQACAAIAHOJ
yT4uGMCAZwAAALoAAAAUAAwAAAAAAAAAAECkgRQBAABfX01BQ09TWC8uX3Rlc3QuaHRtbFVYCAA3
YvFNOmHxTVBLAQIVAxQACAAIABWRRz0KM+mIxwcAAEESAAAbAAwAAAAAAAAAAECkgc0BAAB1YnVu
dHUtZm9udC1saWNlbmNlLTEuMC50eHRVWAgAJGLxTRlvrkxQSwECFQMUAAgACAAVkUc9UruSaTMB
AAD/AQAAJgAMAAAAAAAAAABApIHtCQAAX19NQUNPU1gvLl91YnVudHUtZm9udC1saWNlbmNlLTEu
MC50eHRVWAgAJGLxTRlvrkxQSwECFQMUAAgACAAOiMk+8HJWtcF7AADDQwIAEwAMAAAAAAAAAABA
pIGECwAAVWJ1bnR1VGl0bGVCb2xkLnN2Z1VYCAAXYvFNm17xTVBLAQIVAxQACAAIAA6IyT5v9Hl4
FAEAANUBAAAeAAwAAAAAAAAAAECkgZaHAABfX01BQ09TWC8uX1VidW50dVRpdGxlQm9sZC5zdmdV
WAgAF2LxTZte8U1QSwUGAAAAAAcABwAuAgAABokAAAAA
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>96691</attachid>
            <date>2011-06-09 19:38:57 -0700</date>
            <delta_ts>2011-06-09 19:56:11 -0700</delta_ts>
            <desc>Revise patch style</desc>
            <filename>61556.patch</filename>
            <type>text/plain</type>
            <size>3682</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA3YWMxMmFjLi43MWUzM2EwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTgg
QEAKKzIwMTEtMDYtMDkgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgY2FuJ3Qg
YXNzdW1lIHRoYXQgdGhlIHBhcmVudCBvZiBhIFNWRy1mb250LXN0eWxlZAorICAgICAgICB0ZXh0
IG5vZGUgd29uJ3QgYmUgYW4gYW5vbnltb3VzIGJsb2NrLgorICAgICAgICBodHRwOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MTU1NgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4g
KE9PUFMhKQorCisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9TVkdUZXh0UnVuUmVuZGVyaW5nQ29u
dGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpmaXJzdFBhcmVudFJlbmRlcmVyRm9yTm9uVGV4
dE5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4dFJ1bldhbGtlcjo6d2Fsayk6CisgICAg
ICAgIChXZWJDb3JlOjpmbG9hdFdpZHRoT2ZTdWJTdHJpbmdVc2luZ1NWR0ZvbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHVGV4dFJ1blJlbmRlcmluZ0NvbnRleHQ6OmRyYXdUZXh0VXNpbmdTVkdG
b250KToKKwogMjAxMS0wNi0wNyAgSWFuIEhlbmRlcnNvbiAgPGlhbmhAYXBwbGUuY29tPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IERhbiBCZXJuc3RlaW4uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRSdW5SZW5kZXJpbmdDb250ZXh0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dFJ1blJlbmRlcmluZ0NvbnRleHQuY3BwCmlu
ZGV4IGVjNGUxMjIuLjg4NDg5ODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvU1ZHVGV4dFJ1blJlbmRlcmluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdmcvU1ZHVGV4dFJ1blJlbmRlcmluZ0NvbnRleHQuY3BwCkBAIC03Niw4ICs3
Niw2IEBAIHN0YXRpYyBpbmxpbmUgUmVuZGVyT2JqZWN0KiBmaXJzdFBhcmVudFJlbmRlcmVyRm9y
Tm9uVGV4dE5vZGUoUmVuZGVyT2JqZWN0KiByZW5kCiB7CiAgICAgQVNTRVJUKHJlbmRlcmVyKTsK
ICAgICBSZW5kZXJPYmplY3QqIG5ld1JlbmRlcmVyID0gcmVuZGVyZXItPmlzVGV4dCgpID8gcmVu
ZGVyZXItPnBhcmVudCgpIDogcmVuZGVyZXI7Ci0gICAgQVNTRVJUKG5ld1JlbmRlcmVyLT5ub2Rl
KCkpOwotICAgIEFTU0VSVChuZXdSZW5kZXJlci0+bm9kZSgpLT5pc0VsZW1lbnROb2RlKCkpOwog
ICAgIHJldHVybiBuZXdSZW5kZXJlcjsKIH0KIApAQCAtMTMxLDcgKzEyOSw3IEBAIHN0cnVjdCBT
VkdUZXh0UnVuV2Fsa2VyIHsKICAgICAgICAgYm9vbCBoYXZlQWx0R2x5cGggPSBmYWxzZTsKICAg
ICAgICAgU1ZHR2x5cGggYWx0R2x5cGhJZGVudGlmaWVyOwogICAgICAgICBOb2RlKiBub2RlID0g
cGFyZW50UmVuZGVyT2JqZWN0LT5ub2RlKCk7Ci0gICAgICAgIGlmIChub2RlLT5oYXNUYWdOYW1l
KFNWR05hbWVzOjphbHRHbHlwaFRhZykpIHsKKyAgICAgICAgaWYgKG5vZGUgJiYgbm9kZS0+aGFz
VGFnTmFtZShTVkdOYW1lczo6YWx0R2x5cGhUYWcpKSB7CiAgICAgICAgICAgICBpZiAoU1ZHR2x5
cGhFbGVtZW50KiBnbHlwaEVsZW1lbnQgPSBzdGF0aWNfY2FzdDxTVkdBbHRHbHlwaEVsZW1lbnQq
Pihub2RlKS0+Z2x5cGhFbGVtZW50KCkpIHsKICAgICAgICAgICAgICAgICBoYXZlQWx0R2x5cGgg
PSB0cnVlOwogICAgICAgICAgICAgICAgIGFsdEdseXBoSWRlbnRpZmllciA9IGdseXBoRWxlbWVu
dC0+YnVpbGRHbHlwaElkZW50aWZpZXIoKTsKQEAgLTI2Nyw5ICsyNjUsMTIgQEAgc3RhdGljIGZs
b2F0IGZsb2F0V2lkdGhPZlN1YlN0cmluZ1VzaW5nU1ZHRm9udChjb25zdCBGb250JiBmb250LCBj
b25zdCBUZXh0UnVuJgogICAgICAgICBkYXRhLmxlbmd0aCA9IDAuMGY7CiAKICAgICAgICAgUmVu
ZGVyT2JqZWN0KiByZW5kZXJPYmplY3QgPSByZWZlcmVuY2luZ1JlbmRlck9iamVjdEZyb21SdW4o
cnVuKTsKLSAgICAgICAgUmVuZGVyT2JqZWN0KiBwYXJlbnRSZW5kZXJPYmplY3QgPSBmaXJzdFBh
cmVudFJlbmRlcmVyRm9yTm9uVGV4dE5vZGUocmVuZGVyT2JqZWN0KTsgCisgICAgICAgIFJlbmRl
ck9iamVjdCogcGFyZW50UmVuZGVyT2JqZWN0ID0gZmlyc3RQYXJlbnRSZW5kZXJlckZvck5vblRl
eHROb2RlKHJlbmRlck9iamVjdCk7CisKKyAgICAgICAgU3RyaW5nIGxhbmd1YWdlOworICAgICAg
ICBpZiAoU1ZHRWxlbWVudCogZWxlbWVudCA9IHN0YXRpY19jYXN0PFNWR0VsZW1lbnQqPihwYXJl
bnRSZW5kZXJPYmplY3QtPm5vZGUoKSkpCisgICAgICAgICAgICBsYW5ndWFnZSA9IGVsZW1lbnQt
PmdldEF0dHJpYnV0ZShYTUxOYW1lczo6bGFuZ0F0dHIpOwogCi0gICAgICAgIFN0cmluZyBsYW5n
dWFnZSA9IHRvRWxlbWVudChwYXJlbnRSZW5kZXJPYmplY3QtPm5vZGUoKSktPmdldEF0dHJpYnV0
ZShYTUxOYW1lczo6bGFuZ0F0dHIpOwogICAgICAgICBib29sIGlzVmVydGljYWxUZXh0ID0gaXNW
ZXJ0aWNhbFdyaXRpbmdNb2RlKHBhcmVudFJlbmRlck9iamVjdC0+c3R5bGUoKS0+c3ZnU3R5bGUo
KSk7CiAKICAgICAgICAgU1ZHVGV4dFJ1bldhbGtlcjxTVkdUZXh0UnVuV2Fsa2VyTWVhc3VyZWRM
ZW5ndGhEYXRhPiBydW5XYWxrZXIoZm9udERhdGEsIGZvbnRFbGVtZW50LCBkYXRhLCBmbG9hdFdp
ZHRoVXNpbmdTVkdGb250Q2FsbGJhY2ssIGZsb2F0V2lkdGhNaXNzaW5nR2x5cGhDYWxsYmFjayk7
CkBAIC0zNDgsOCArMzQ5LDkgQEAgdm9pZCBTVkdUZXh0UnVuUmVuZGVyaW5nQ29udGV4dDo6ZHJh
d1RleHRVc2luZ1NWR0ZvbnQoY29uc3QgRm9udCYgZm9udCwgR3JhcGhpY3MKICAgICAgICAgZmxv
YXQgeFN0YXJ0T2Zmc2V0ID0gZmxvYXRXaWR0aE9mU3ViU3RyaW5nVXNpbmdTVkdGb250KGZvbnQs
IHJ1biwgMCwgcnVuLnJ0bCgpID8gdG8gOiAwLCBydW4ucnRsKCkgPyBydW4ubGVuZ3RoKCkgOiBm
cm9tLCBjaGFyc0NvbnN1bWVkLCBnbHlwaE5hbWUpOwogICAgICAgICBGbG9hdFBvaW50IGdseXBo
T3JpZ2luOwogCi0gICAgICAgIE5vZGUqIG5vZGUgPSBwYXJlbnRSZW5kZXJPYmplY3QtPm5vZGUo
KTsKLSAgICAgICAgU3RyaW5nIGxhbmd1YWdlID0gdG9FbGVtZW50KG5vZGUpLT5nZXRBdHRyaWJ1
dGUoWE1MTmFtZXM6OmxhbmdBdHRyKTsKKyAgICAgICAgU3RyaW5nIGxhbmd1YWdlOworICAgICAg
ICBpZiAoU1ZHRWxlbWVudCogZWxlbWVudCA9IHN0YXRpY19jYXN0PFNWR0VsZW1lbnQqPihwYXJl
bnRSZW5kZXJPYmplY3QtPm5vZGUoKSkpCisgICAgICAgICAgICBsYW5ndWFnZSA9IGVsZW1lbnQt
PmdldEF0dHJpYnV0ZShYTUxOYW1lczo6bGFuZ0F0dHIpOwogCiAgICAgICAgIFJlbmRlclN0eWxl
KiBwYXJlbnRSZW5kZXJPYmplY3RTdHlsZSA9IHBhcmVudFJlbmRlck9iamVjdC0+c3R5bGUoKTsK
ICAgICAgICAgYm9vbCBpc1ZlcnRpY2FsVGV4dCA9IGlzVmVydGljYWxXcml0aW5nTW9kZShwYXJl
bnRSZW5kZXJPYmplY3RTdHlsZS0+c3ZnU3R5bGUoKSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>96692</attachid>
            <date>2011-06-09 19:58:48 -0700</date>
            <delta_ts>2011-06-10 10:45:21 -0700</delta_ts>
            <desc>Style-updated patch which actually applies (sorry!)</desc>
            <filename>61556.patch</filename>
            <type>text/plain</type>
            <size>3682</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA3YWMxMmFjLi43MWUzM2EwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkg
QEAKKzIwMTEtMDYtMDkgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgY2FuJ3Qg
YXNzdW1lIHRoYXQgdGhlIHBhcmVudCBvZiBhIFNWRy1mb250LXN0eWxlZAorICAgICAgICB0ZXh0
IG5vZGUgd29uJ3QgYmUgYW4gYW5vbnltb3VzIGJsb2NrLgorICAgICAgICBodHRwOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MTU1NgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4g
KE9PUFMhKQorCisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9TVkdUZXh0UnVuUmVuZGVyaW5nQ29u
dGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpmaXJzdFBhcmVudFJlbmRlcmVyRm9yTm9uVGV4
dE5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4dFJ1bldhbGtlcjo6d2Fsayk6CisgICAg
ICAgIChXZWJDb3JlOjpmbG9hdFdpZHRoT2ZTdWJTdHJpbmdVc2luZ1NWR0ZvbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6U1ZHVGV4dFJ1blJlbmRlcmluZ0NvbnRleHQ6OmRyYXdUZXh0VXNpbmdTVkdG
b250KToKKwogMjAxMS0wNi0wNyAgSWFuIEhlbmRlcnNvbiAgPGlhbmhAYXBwbGUuY29tPgogCiAg
ICAgICAgIFJldmlld2VkIGJ5IERhbiBCZXJuc3RlaW4uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRSdW5SZW5kZXJpbmdDb250ZXh0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dFJ1blJlbmRlcmluZ0NvbnRleHQuY3BwCmlu
ZGV4IGVjNGUxMjIuLjg4NDg5ODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9zdmcvU1ZHVGV4dFJ1blJlbmRlcmluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdmcvU1ZHVGV4dFJ1blJlbmRlcmluZ0NvbnRleHQuY3BwCkBAIC03Niw4ICs3
Niw2IEBAIHN0YXRpYyBpbmxpbmUgUmVuZGVyT2JqZWN0KiBmaXJzdFBhcmVudFJlbmRlcmVyRm9y
Tm9uVGV4dE5vZGUoUmVuZGVyT2JqZWN0KiByZW5kCiB7CiAgICAgQVNTRVJUKHJlbmRlcmVyKTsK
ICAgICBSZW5kZXJPYmplY3QqIG5ld1JlbmRlcmVyID0gcmVuZGVyZXItPmlzVGV4dCgpID8gcmVu
ZGVyZXItPnBhcmVudCgpIDogcmVuZGVyZXI7Ci0gICAgQVNTRVJUKG5ld1JlbmRlcmVyLT5ub2Rl
KCkpOwotICAgIEFTU0VSVChuZXdSZW5kZXJlci0+bm9kZSgpLT5pc0VsZW1lbnROb2RlKCkpOwog
ICAgIHJldHVybiBuZXdSZW5kZXJlcjsKIH0KIApAQCAtMTMxLDcgKzEyOSw3IEBAIHN0cnVjdCBT
VkdUZXh0UnVuV2Fsa2VyIHsKICAgICAgICAgYm9vbCBoYXZlQWx0R2x5cGggPSBmYWxzZTsKICAg
ICAgICAgU1ZHR2x5cGggYWx0R2x5cGhJZGVudGlmaWVyOwogICAgICAgICBOb2RlKiBub2RlID0g
cGFyZW50UmVuZGVyT2JqZWN0LT5ub2RlKCk7Ci0gICAgICAgIGlmIChub2RlLT5oYXNUYWdOYW1l
KFNWR05hbWVzOjphbHRHbHlwaFRhZykpIHsKKyAgICAgICAgaWYgKG5vZGUgJiYgbm9kZS0+aGFz
VGFnTmFtZShTVkdOYW1lczo6YWx0R2x5cGhUYWcpKSB7CiAgICAgICAgICAgICBpZiAoU1ZHR2x5
cGhFbGVtZW50KiBnbHlwaEVsZW1lbnQgPSBzdGF0aWNfY2FzdDxTVkdBbHRHbHlwaEVsZW1lbnQq
Pihub2RlKS0+Z2x5cGhFbGVtZW50KCkpIHsKICAgICAgICAgICAgICAgICBoYXZlQWx0R2x5cGgg
PSB0cnVlOwogICAgICAgICAgICAgICAgIGFsdEdseXBoSWRlbnRpZmllciA9IGdseXBoRWxlbWVu
dC0+YnVpbGRHbHlwaElkZW50aWZpZXIoKTsKQEAgLTI2Nyw5ICsyNjUsMTIgQEAgc3RhdGljIGZs
b2F0IGZsb2F0V2lkdGhPZlN1YlN0cmluZ1VzaW5nU1ZHRm9udChjb25zdCBGb250JiBmb250LCBj
b25zdCBUZXh0UnVuJgogICAgICAgICBkYXRhLmxlbmd0aCA9IDAuMGY7CiAKICAgICAgICAgUmVu
ZGVyT2JqZWN0KiByZW5kZXJPYmplY3QgPSByZWZlcmVuY2luZ1JlbmRlck9iamVjdEZyb21SdW4o
cnVuKTsKLSAgICAgICAgUmVuZGVyT2JqZWN0KiBwYXJlbnRSZW5kZXJPYmplY3QgPSBmaXJzdFBh
cmVudFJlbmRlcmVyRm9yTm9uVGV4dE5vZGUocmVuZGVyT2JqZWN0KTsgCisgICAgICAgIFJlbmRl
ck9iamVjdCogcGFyZW50UmVuZGVyT2JqZWN0ID0gZmlyc3RQYXJlbnRSZW5kZXJlckZvck5vblRl
eHROb2RlKHJlbmRlck9iamVjdCk7CisKKyAgICAgICAgU3RyaW5nIGxhbmd1YWdlOworICAgICAg
ICBpZiAoU1ZHRWxlbWVudCogZWxlbWVudCA9IHN0YXRpY19jYXN0PFNWR0VsZW1lbnQqPihwYXJl
bnRSZW5kZXJPYmplY3QtPm5vZGUoKSkpCisgICAgICAgICAgICBsYW5ndWFnZSA9IGVsZW1lbnQt
PmdldEF0dHJpYnV0ZShYTUxOYW1lczo6bGFuZ0F0dHIpOwogCi0gICAgICAgIFN0cmluZyBsYW5n
dWFnZSA9IHRvRWxlbWVudChwYXJlbnRSZW5kZXJPYmplY3QtPm5vZGUoKSktPmdldEF0dHJpYnV0
ZShYTUxOYW1lczo6bGFuZ0F0dHIpOwogICAgICAgICBib29sIGlzVmVydGljYWxUZXh0ID0gaXNW
ZXJ0aWNhbFdyaXRpbmdNb2RlKHBhcmVudFJlbmRlck9iamVjdC0+c3R5bGUoKS0+c3ZnU3R5bGUo
KSk7CiAKICAgICAgICAgU1ZHVGV4dFJ1bldhbGtlcjxTVkdUZXh0UnVuV2Fsa2VyTWVhc3VyZWRM
ZW5ndGhEYXRhPiBydW5XYWxrZXIoZm9udERhdGEsIGZvbnRFbGVtZW50LCBkYXRhLCBmbG9hdFdp
ZHRoVXNpbmdTVkdGb250Q2FsbGJhY2ssIGZsb2F0V2lkdGhNaXNzaW5nR2x5cGhDYWxsYmFjayk7
CkBAIC0zNDgsOCArMzQ5LDkgQEAgdm9pZCBTVkdUZXh0UnVuUmVuZGVyaW5nQ29udGV4dDo6ZHJh
d1RleHRVc2luZ1NWR0ZvbnQoY29uc3QgRm9udCYgZm9udCwgR3JhcGhpY3MKICAgICAgICAgZmxv
YXQgeFN0YXJ0T2Zmc2V0ID0gZmxvYXRXaWR0aE9mU3ViU3RyaW5nVXNpbmdTVkdGb250KGZvbnQs
IHJ1biwgMCwgcnVuLnJ0bCgpID8gdG8gOiAwLCBydW4ucnRsKCkgPyBydW4ubGVuZ3RoKCkgOiBm
cm9tLCBjaGFyc0NvbnN1bWVkLCBnbHlwaE5hbWUpOwogICAgICAgICBGbG9hdFBvaW50IGdseXBo
T3JpZ2luOwogCi0gICAgICAgIE5vZGUqIG5vZGUgPSBwYXJlbnRSZW5kZXJPYmplY3QtPm5vZGUo
KTsKLSAgICAgICAgU3RyaW5nIGxhbmd1YWdlID0gdG9FbGVtZW50KG5vZGUpLT5nZXRBdHRyaWJ1
dGUoWE1MTmFtZXM6OmxhbmdBdHRyKTsKKyAgICAgICAgU3RyaW5nIGxhbmd1YWdlOworICAgICAg
ICBpZiAoU1ZHRWxlbWVudCogZWxlbWVudCA9IHN0YXRpY19jYXN0PFNWR0VsZW1lbnQqPihwYXJl
bnRSZW5kZXJPYmplY3QtPm5vZGUoKSkpCisgICAgICAgICAgICBsYW5ndWFnZSA9IGVsZW1lbnQt
PmdldEF0dHJpYnV0ZShYTUxOYW1lczo6bGFuZ0F0dHIpOwogCiAgICAgICAgIFJlbmRlclN0eWxl
KiBwYXJlbnRSZW5kZXJPYmplY3RTdHlsZSA9IHBhcmVudFJlbmRlck9iamVjdC0+c3R5bGUoKTsK
ICAgICAgICAgYm9vbCBpc1ZlcnRpY2FsVGV4dCA9IGlzVmVydGljYWxXcml0aW5nTW9kZShwYXJl
bnRSZW5kZXJPYmplY3RTdHlsZS0+c3ZnU3R5bGUoKSk7Cg==
</data>
<flag name="review"
          id="90449"
          type_id="1"
          status="-"
          setter="krit"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>96757</attachid>
            <date>2011-06-10 10:45:21 -0700</date>
            <delta_ts>2011-06-13 11:02:30 -0700</delta_ts>
            <desc>Revision of the last patch, with a crash test and revised ChangeLog entry</desc>
            <filename>61156-with-test.patch</filename>
            <type>text/plain</type>
            <size>6228</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">RnJvbSA5YTk2Y2I4NjI1NmYzYWJhYzA3YmRiN2RiNmVkMjM5ZmJlMTBiNzhjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBUaW0gSG9ydG9uIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+
CkRhdGU6IEZyaSwgMTAgSnVuIDIwMTEgMTA6MzM6MzYgLTA3MDAKU3ViamVjdDogW1BBVENIXSAy
MDExLTA2LTA5ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogUkVHUkVT
U0lPTig4NzE1Mik6IENyYXNoIG9uIHBhZ2Ugd2l0aCBzdmcgZm9udHMKIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MTU1NgoKV2UgY2FuJ3QgYXNzdW1lIHRoYXQgdGhl
IHBhcmVudCBvZiBhIFNWRy1mb250LXN0eWxlZAp0ZXh0IG5vZGUgd29uJ3QgYmUgYW4gYW5vbnlt
b3VzIGJsb2NrLgoKVGVzdDogc3ZnL3RleHQvdGV4dC1mb250LWFub255bW91cy1wYXJlbnQueGh0
bWwKLS0tCiAuLi4vdGV4dC90ZXh0LWZvbnQtYW5vbnltb3VzLXBhcmVudC1leHBlY3RlZC50eHQg
ICB8ICAgIDMgKysrCiAuLi4vc3ZnL3RleHQvdGV4dC1mb250LWFub255bW91cy1wYXJlbnQueGh0
bWwgICAgICB8ICAgMTggKysrKysrKysrKysrKysrKysrCiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTggKysrKysrKysrKysrKysrKysrCiAu
Li4vcmVuZGVyaW5nL3N2Zy9TVkdUZXh0UnVuUmVuZGVyaW5nQ29udGV4dC5jcHAgICB8ICAgMTYg
KysrKysrKysrLS0tLS0tLQogNCBmaWxlcyBjaGFuZ2VkLCA0OCBpbnNlcnRpb25zKCspLCA3IGRl
bGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IExheW91dFRlc3RzL3N2Zy90ZXh0L3RleHQt
Zm9udC1hbm9ueW1vdXMtcGFyZW50LWV4cGVjdGVkLnR4dAogY3JlYXRlIG1vZGUgMTAwNjQ0IExh
eW91dFRlc3RzL3N2Zy90ZXh0L3RleHQtZm9udC1hbm9ueW1vdXMtcGFyZW50LnhodG1sCgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL3RleHQvdGV4dC1mb250LWFub255bW91cy1wYXJlbnQt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3ZnL3RleHQvdGV4dC1mb250LWFub255bW91cy1w
YXJlbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU1
ZWIwYzQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdmcvdGV4dC90ZXh0LWZvbnQt
YW5vbnltb3VzLXBhcmVudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACitUaGlzIHRlc3Qg
aXMgdG8gZW5zdXJlIHRoYXQgd2UgZG8gbm90IGNyYXNoIHdoZW4gYXBwbHlpbmcgYW4gU1ZHIGZv
bnQgdG8gYSB0ZXh0IG5vZGUgd2l0aCBhbiBhbm9ueW1vdXMgcGFyZW50LiBJdCBwYXNzZXMgaWYg
aXQgZG9lcyBub3QgY3Jhc2guCishCishCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvdGV4
dC90ZXh0LWZvbnQtYW5vbnltb3VzLXBhcmVudC54aHRtbCBiL0xheW91dFRlc3RzL3N2Zy90ZXh0
L3RleHQtZm9udC1hbm9ueW1vdXMtcGFyZW50LnhodG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLmNhMTIzMzEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdmcv
dGV4dC90ZXh0LWZvbnQtYW5vbnltb3VzLXBhcmVudC54aHRtbApAQCAtMCwwICsxLDE4IEBACis8
aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+CisgICAgPHNjcmlwdD4K
KyAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICA8L3NjcmlwdD4KKyAgICA8Ym9k
eT4KKyAgICAgICAgVGhpcyB0ZXN0IGlzIHRvIGVuc3VyZSB0aGF0IHdlIGRvIG5vdCBjcmFzaCB3
aGVuIGFwcGx5aW5nIGFuIFNWRyBmb250IHRvIGEgdGV4dCBub2RlIHdpdGggYW4gYW5vbnltb3Vz
IHBhcmVudC4gSXQgcGFzc2VzIGlmIGl0IGRvZXMgbm90IGNyYXNoLgorICAgICAgICA8c3ZnIHht
bG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij4K
KyAgICAgICAgPGRlZnM+CisgICAgICAgIDxmb250IGlkPSJWYWxpZFRlc3RGb250IiBob3Jpei1h
ZHYteD0iNDUwIiA+CisgICAgICAgICAgICA8Zm9udC1mYWNlIGZvbnQtZmFtaWx5PSJWYWxpZFRl
c3RGb250IiAvPgorICAgICAgICAgICAgPGdseXBoIGdseXBoLW5hbWU9ImV4Y2xhbSIgdW5pY29k
ZT0iISIgaG9yaXotYWR2LXg9IjM1MCIgZD0iTSAxMDAgMTAwIEwgMTAwIDMwMCBMIDMwMCAzMDAg
TCAzMDAgMTAwIHoiIC8+CisgICAgICAgIDwvZm9udD4KKyAgICAgICAgPC9kZWZzPgorICAgICAg
ICA8L3N2Zz4KKyAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IFZhbGlkVGVzdEZvbnQi
PiE8ZGl2PiE8L2Rpdj48L2Rpdj4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MWVmYjVjOS4uMzU2MmM2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisr
KyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDExLTA2LTEw
ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJFR1JFU1NJT04oODcxNTIpOiBDcmFz
aCBvbiBwYWdlIHdpdGggc3ZnIGZvbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD02MTU1NgorCisgICAgICAgIFdlIGNhbid0IGFzc3VtZSB0aGF0IHRo
ZSBwYXJlbnQgb2YgYSBTVkctZm9udC1zdHlsZWQKKyAgICAgICAgdGV4dCBub2RlIHdvbid0IGJl
IGFuIGFub255bW91cyBibG9jay4KKworICAgICAgICBUZXN0OiBzdmcvdGV4dC90ZXh0LWZvbnQt
YW5vbnltb3VzLXBhcmVudC54aHRtbAorCisgICAgICAgICogcmVuZGVyaW5nL3N2Zy9TVkdUZXh0
UnVuUmVuZGVyaW5nQ29udGV4dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpmaXJzdFBhcmVudFJl
bmRlcmVyRm9yTm9uVGV4dE5vZGUpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4dFJ1bldhbGtl
cjo6d2Fsayk6CisgICAgICAgIChXZWJDb3JlOjpmbG9hdFdpZHRoT2ZTdWJTdHJpbmdVc2luZ1NW
R0ZvbnQpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVGV4dFJ1blJlbmRlcmluZ0NvbnRleHQ6OmRy
YXdUZXh0VXNpbmdTVkdGb250KToKKwogMjAxMS0wNi0xMCAgSmFtZXMgU2ltb25zZW4gIDxzaW1v
bmphbUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgVG9ueSBHZW50aWxjb3Jl
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N2Zy9TVkdUZXh0UnVuUmVu
ZGVyaW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRS
dW5SZW5kZXJpbmdDb250ZXh0LmNwcAppbmRleCBlYzRlMTIyLi4yYTMzNjllIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRSdW5SZW5kZXJpbmdDb250ZXh0
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRSdW5SZW5kZXJp
bmdDb250ZXh0LmNwcApAQCAtNzYsOCArNzYsNiBAQCBzdGF0aWMgaW5saW5lIFJlbmRlck9iamVj
dCogZmlyc3RQYXJlbnRSZW5kZXJlckZvck5vblRleHROb2RlKFJlbmRlck9iamVjdCogcmVuZAog
ewogICAgIEFTU0VSVChyZW5kZXJlcik7CiAgICAgUmVuZGVyT2JqZWN0KiBuZXdSZW5kZXJlciA9
IHJlbmRlcmVyLT5pc1RleHQoKSA/IHJlbmRlcmVyLT5wYXJlbnQoKSA6IHJlbmRlcmVyOwotICAg
IEFTU0VSVChuZXdSZW5kZXJlci0+bm9kZSgpKTsKLSAgICBBU1NFUlQobmV3UmVuZGVyZXItPm5v
ZGUoKS0+aXNFbGVtZW50Tm9kZSgpKTsKICAgICByZXR1cm4gbmV3UmVuZGVyZXI7CiB9CiAKQEAg
LTEzMSw3ICsxMjksNyBAQCBzdHJ1Y3QgU1ZHVGV4dFJ1bldhbGtlciB7CiAgICAgICAgIGJvb2wg
aGF2ZUFsdEdseXBoID0gZmFsc2U7CiAgICAgICAgIFNWR0dseXBoIGFsdEdseXBoSWRlbnRpZmll
cjsKICAgICAgICAgTm9kZSogbm9kZSA9IHBhcmVudFJlbmRlck9iamVjdC0+bm9kZSgpOwotICAg
ICAgICBpZiAobm9kZS0+aGFzVGFnTmFtZShTVkdOYW1lczo6YWx0R2x5cGhUYWcpKSB7CisgICAg
ICAgIGlmIChub2RlICYmIG5vZGUtPmhhc1RhZ05hbWUoU1ZHTmFtZXM6OmFsdEdseXBoVGFnKSkg
ewogICAgICAgICAgICAgaWYgKFNWR0dseXBoRWxlbWVudCogZ2x5cGhFbGVtZW50ID0gc3RhdGlj
X2Nhc3Q8U1ZHQWx0R2x5cGhFbGVtZW50Kj4obm9kZSktPmdseXBoRWxlbWVudCgpKSB7CiAgICAg
ICAgICAgICAgICAgaGF2ZUFsdEdseXBoID0gdHJ1ZTsKICAgICAgICAgICAgICAgICBhbHRHbHlw
aElkZW50aWZpZXIgPSBnbHlwaEVsZW1lbnQtPmJ1aWxkR2x5cGhJZGVudGlmaWVyKCk7CkBAIC0y
NjcsOSArMjY1LDEyIEBAIHN0YXRpYyBmbG9hdCBmbG9hdFdpZHRoT2ZTdWJTdHJpbmdVc2luZ1NW
R0ZvbnQoY29uc3QgRm9udCYgZm9udCwgY29uc3QgVGV4dFJ1biYKICAgICAgICAgZGF0YS5sZW5n
dGggPSAwLjBmOwogCiAgICAgICAgIFJlbmRlck9iamVjdCogcmVuZGVyT2JqZWN0ID0gcmVmZXJl
bmNpbmdSZW5kZXJPYmplY3RGcm9tUnVuKHJ1bik7Ci0gICAgICAgIFJlbmRlck9iamVjdCogcGFy
ZW50UmVuZGVyT2JqZWN0ID0gZmlyc3RQYXJlbnRSZW5kZXJlckZvck5vblRleHROb2RlKHJlbmRl
ck9iamVjdCk7IAorICAgICAgICBSZW5kZXJPYmplY3QqIHBhcmVudFJlbmRlck9iamVjdCA9IGZp
cnN0UGFyZW50UmVuZGVyZXJGb3JOb25UZXh0Tm9kZShyZW5kZXJPYmplY3QpOworCisgICAgICAg
IFN0cmluZyBsYW5ndWFnZTsKKyAgICAgICAgaWYgKFNWR0VsZW1lbnQqIGVsZW1lbnQgPSBzdGF0
aWNfY2FzdDxTVkdFbGVtZW50Kj4ocGFyZW50UmVuZGVyT2JqZWN0LT5ub2RlKCkpKQorICAgICAg
ICAgICAgbGFuZ3VhZ2UgPSBlbGVtZW50LT5nZXRBdHRyaWJ1dGUoWE1MTmFtZXM6OmxhbmdBdHRy
KTsKIAotICAgICAgICBTdHJpbmcgbGFuZ3VhZ2UgPSB0b0VsZW1lbnQocGFyZW50UmVuZGVyT2Jq
ZWN0LT5ub2RlKCkpLT5nZXRBdHRyaWJ1dGUoWE1MTmFtZXM6OmxhbmdBdHRyKTsKICAgICAgICAg
Ym9vbCBpc1ZlcnRpY2FsVGV4dCA9IGlzVmVydGljYWxXcml0aW5nTW9kZShwYXJlbnRSZW5kZXJP
YmplY3QtPnN0eWxlKCktPnN2Z1N0eWxlKCkpOwogCiAgICAgICAgIFNWR1RleHRSdW5XYWxrZXI8
U1ZHVGV4dFJ1bldhbGtlck1lYXN1cmVkTGVuZ3RoRGF0YT4gcnVuV2Fsa2VyKGZvbnREYXRhLCBm
b250RWxlbWVudCwgZGF0YSwgZmxvYXRXaWR0aFVzaW5nU1ZHRm9udENhbGxiYWNrLCBmbG9hdFdp
ZHRoTWlzc2luZ0dseXBoQ2FsbGJhY2spOwpAQCAtMzQ4LDggKzM0OSw5IEBAIHZvaWQgU1ZHVGV4
dFJ1blJlbmRlcmluZ0NvbnRleHQ6OmRyYXdUZXh0VXNpbmdTVkdGb250KGNvbnN0IEZvbnQmIGZv
bnQsIEdyYXBoaWNzCiAgICAgICAgIGZsb2F0IHhTdGFydE9mZnNldCA9IGZsb2F0V2lkdGhPZlN1
YlN0cmluZ1VzaW5nU1ZHRm9udChmb250LCBydW4sIDAsIHJ1bi5ydGwoKSA/IHRvIDogMCwgcnVu
LnJ0bCgpID8gcnVuLmxlbmd0aCgpIDogZnJvbSwgY2hhcnNDb25zdW1lZCwgZ2x5cGhOYW1lKTsK
ICAgICAgICAgRmxvYXRQb2ludCBnbHlwaE9yaWdpbjsKIAotICAgICAgICBOb2RlKiBub2RlID0g
cGFyZW50UmVuZGVyT2JqZWN0LT5ub2RlKCk7Ci0gICAgICAgIFN0cmluZyBsYW5ndWFnZSA9IHRv
RWxlbWVudChub2RlKS0+Z2V0QXR0cmlidXRlKFhNTE5hbWVzOjpsYW5nQXR0cik7CisgICAgICAg
IFN0cmluZyBsYW5ndWFnZTsKKyAgICAgICAgaWYgKFNWR0VsZW1lbnQqIGVsZW1lbnQgPSBzdGF0
aWNfY2FzdDxTVkdFbGVtZW50Kj4ocGFyZW50UmVuZGVyT2JqZWN0LT5ub2RlKCkpKQorICAgICAg
ICAgICAgbGFuZ3VhZ2UgPSBlbGVtZW50LT5nZXRBdHRyaWJ1dGUoWE1MTmFtZXM6OmxhbmdBdHRy
KTsKIAogICAgICAgICBSZW5kZXJTdHlsZSogcGFyZW50UmVuZGVyT2JqZWN0U3R5bGUgPSBwYXJl
bnRSZW5kZXJPYmplY3QtPnN0eWxlKCk7CiAgICAgICAgIGJvb2wgaXNWZXJ0aWNhbFRleHQgPSBp
c1ZlcnRpY2FsV3JpdGluZ01vZGUocGFyZW50UmVuZGVyT2JqZWN0U3R5bGUtPnN2Z1N0eWxlKCkp
OwotLSAKMS43LjQuNAoK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>97336</attachid>
            <date>2011-06-15 11:41:40 -0700</date>
            <delta_ts>2011-07-01 16:13:49 -0700</delta_ts>
            <desc>Follow up patch, fixing Darin&apos;s comments</desc>
            <filename>0001-2011-06-15-Tim-Horton-timothy_horton-apple.com.patch</filename>
            <type>text/plain</type>
            <size>3336</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">RnJvbSA3NmY0M2M1NjNmMjgzODBkZTBlYjhkYjk3YTQ0OWNhNmJkOTE5NzM0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBUaW0gSG9ydG9uIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+
CkRhdGU6IFdlZCwgMTUgSnVuIDIwMTEgMTE6Mzk6NDQgLTA3MDAKU3ViamVjdDogW1BBVENIXSAy
MDExLTA2LTE1ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgoKICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCiAgICAgICAgUkVHUkVTU0lPTig4NzE1Mik6
IENyYXNoIG9uIHBhZ2Ugd2l0aCBzdmcgZm9udHMKICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE1NTYKCiAgICAgICAgVXNlIGNvcnJlY3QgdHlwZXMgYW5k
IGZhc3RHZXRBdHRyaWJ1dGUgd2hlbiBsb29raW5nCiAgICAgICAgdXAgZWxlbWVudCdzIGxhbmd1
YWdlLCBhcyBwZXIgRGFyaW4ncyBjb21tZW50cy4KLS0tCiBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTQgKysrKysrKysrKysrKysKIC4uLi9y
ZW5kZXJpbmcvc3ZnL1NWR1RleHRSdW5SZW5kZXJpbmdDb250ZXh0LmNwcCAgIHwgICAxMiArKysr
KystLS0tLS0KIDIgZmlsZXMgY2hhbmdlZCwgMjAgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMo
LSkKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKaW5kZXggMDk2YzEyZC4uMzU1ZTgyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE3IEBACisyMDExLTA2LTE1ICBUaW0gSG9ydG9uICA8dGltb3RoeV9ob3J0b25AYXBwbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJFR1JF
U1NJT04oODcxNTIpOiBDcmFzaCBvbiBwYWdlIHdpdGggc3ZnIGZvbnRzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MTU1NgorCisgICAgICAgIFVzZSBj
b3JyZWN0IHR5cGVzIGFuZCBmYXN0R2V0QXR0cmlidXRlIHdoZW4gbG9va2luZworICAgICAgICB1
cCBlbGVtZW50J3MgbGFuZ3VhZ2UsIGFzIHBlciBEYXJpbidzIGNvbW1lbnRzLgorCisgICAgICAg
ICogcmVuZGVyaW5nL3N2Zy9TVkdUZXh0UnVuUmVuZGVyaW5nQ29udGV4dC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpmbG9hdFdpZHRoT2ZTdWJTdHJpbmdVc2luZ1NWR0ZvbnQpOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHVGV4dFJ1blJlbmRlcmluZ0NvbnRleHQ6OmRyYXdUZXh0VXNpbmdTVkdGb250
KToKKwogMjAxMS0wNi0xNCAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBFcmljIENhcmxzb24uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvc3ZnL1NWR1RleHRSdW5SZW5kZXJpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9zdmcvU1ZHVGV4dFJ1blJlbmRlcmluZ0NvbnRleHQuY3BwCmluZGV4
IDg1YjQ0NDhkLi5lNWRjNTY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
c3ZnL1NWR1RleHRSdW5SZW5kZXJpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3ZnL1NWR1RleHRSdW5SZW5kZXJpbmdDb250ZXh0LmNwcApAQCAtMjY3LDkgKzI2
Nyw5IEBAIHN0YXRpYyBmbG9hdCBmbG9hdFdpZHRoT2ZTdWJTdHJpbmdVc2luZ1NWR0ZvbnQoY29u
c3QgRm9udCYgZm9udCwgY29uc3QgVGV4dFJ1biYKICAgICAgICAgUmVuZGVyT2JqZWN0KiByZW5k
ZXJPYmplY3QgPSByZWZlcmVuY2luZ1JlbmRlck9iamVjdEZyb21SdW4ocnVuKTsKICAgICAgICAg
UmVuZGVyT2JqZWN0KiBwYXJlbnRSZW5kZXJPYmplY3QgPSBmaXJzdFBhcmVudFJlbmRlcmVyRm9y
Tm9uVGV4dE5vZGUocmVuZGVyT2JqZWN0KTsKIAotICAgICAgICBTdHJpbmcgbGFuZ3VhZ2U7Ci0g
ICAgICAgIGlmIChTVkdFbGVtZW50KiBlbGVtZW50ID0gc3RhdGljX2Nhc3Q8U1ZHRWxlbWVudCo+
KHBhcmVudFJlbmRlck9iamVjdC0+bm9kZSgpKSkKLSAgICAgICAgICAgIGxhbmd1YWdlID0gZWxl
bWVudC0+Z2V0QXR0cmlidXRlKFhNTE5hbWVzOjpsYW5nQXR0cik7CisgICAgICAgIEF0b21pY1N0
cmluZyBsYW5ndWFnZTsKKyAgICAgICAgaWYgKEVsZW1lbnQqIGVsZW1lbnQgPSBzdGF0aWNfY2Fz
dDxFbGVtZW50Kj4ocGFyZW50UmVuZGVyT2JqZWN0LT5ub2RlKCkpKQorICAgICAgICAgICAgbGFu
Z3VhZ2UgPSBlbGVtZW50LT5mYXN0R2V0QXR0cmlidXRlKFhNTE5hbWVzOjpsYW5nQXR0cik7CiAK
ICAgICAgICAgYm9vbCBpc1ZlcnRpY2FsVGV4dCA9IGlzVmVydGljYWxXcml0aW5nTW9kZShwYXJl
bnRSZW5kZXJPYmplY3QtPnN0eWxlKCktPnN2Z1N0eWxlKCkpOwogCkBAIC0zNDksOSArMzQ5LDkg
QEAgdm9pZCBTVkdUZXh0UnVuUmVuZGVyaW5nQ29udGV4dDo6ZHJhd1RleHRVc2luZ1NWR0ZvbnQo
Y29uc3QgRm9udCYgZm9udCwgR3JhcGhpY3MKICAgICAgICAgZmxvYXQgeFN0YXJ0T2Zmc2V0ID0g
ZmxvYXRXaWR0aE9mU3ViU3RyaW5nVXNpbmdTVkdGb250KGZvbnQsIHJ1biwgMCwgcnVuLnJ0bCgp
ID8gdG8gOiAwLCBydW4ucnRsKCkgPyBydW4ubGVuZ3RoKCkgOiBmcm9tLCBjaGFyc0NvbnN1bWVk
LCBnbHlwaE5hbWUpOwogICAgICAgICBGbG9hdFBvaW50IGdseXBoT3JpZ2luOwogCi0gICAgICAg
IFN0cmluZyBsYW5ndWFnZTsKLSAgICAgICAgaWYgKFNWR0VsZW1lbnQqIGVsZW1lbnQgPSBzdGF0
aWNfY2FzdDxTVkdFbGVtZW50Kj4ocGFyZW50UmVuZGVyT2JqZWN0LT5ub2RlKCkpKQotICAgICAg
ICAgICAgbGFuZ3VhZ2UgPSBlbGVtZW50LT5nZXRBdHRyaWJ1dGUoWE1MTmFtZXM6OmxhbmdBdHRy
KTsKKyAgICAgICAgQXRvbWljU3RyaW5nIGxhbmd1YWdlOworICAgICAgICBpZiAoRWxlbWVudCog
ZWxlbWVudCA9IHN0YXRpY19jYXN0PEVsZW1lbnQqPihwYXJlbnRSZW5kZXJPYmplY3QtPm5vZGUo
KSkpCisgICAgICAgICAgICBsYW5ndWFnZSA9IGVsZW1lbnQtPmZhc3RHZXRBdHRyaWJ1dGUoWE1M
TmFtZXM6OmxhbmdBdHRyKTsKIAogICAgICAgICBSZW5kZXJTdHlsZSogcGFyZW50UmVuZGVyT2Jq
ZWN0U3R5bGUgPSBwYXJlbnRSZW5kZXJPYmplY3QtPnN0eWxlKCk7CiAgICAgICAgIGJvb2wgaXNW
ZXJ0aWNhbFRleHQgPSBpc1ZlcnRpY2FsV3JpdGluZ01vZGUocGFyZW50UmVuZGVyT2JqZWN0U3R5
bGUtPnN2Z1N0eWxlKCkpOwotLSAKMS43LjQuNAoK
</data>

          </attachment>
      

    </bug>

</bugzilla>