<?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>54053</bug_id>
          
          <creation_ts>2011-02-08 18:34:14 -0800</creation_ts>
          <short_desc>REGRESSION(r76107): Crash in VisibleSelection::toNormalizedRange</short_desc>
          <delta_ts>2011-02-09 18:15:04 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Forms</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>adele</cc>
    
    <cc>darin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>mjs</cc>
    
    <cc>morrita</cc>
    
    <cc>tkent</cc>
    
    <cc>tony</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>347881</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-02-08 18:34:14 -0800</bug_when>
    <thetext>#0	0x1018deb28 in WebCore::RenderBlock::positionForBox at RenderBlock.cpp:3965
#1	0x1018def8b in WebCore::RenderBlock::positionForPointWithInlineChildren at RenderBlock.cpp:4053
#2	0x1018df1d9 in WebCore::RenderBlock::positionForPoint at RenderBlock.cpp:4092
#3	0x1018de993 in WebCore::positionForPointRespectingEditingBoundaries at RenderBlock.cpp:3992
#4	0x1018df24f in WebCore::RenderBlock::positionForPoint at RenderBlock.cpp:4097
#5	0x101277b76 in WebCore::EventHandler::handleMousePressEventSingleClick at EventHandler.cpp:374
#6	0x10127a5f5 in WebCore::EventHandler::handleMousePressEvent at EventHandler.cpp:480
#7	0x10127dd48 in WebCore::EventHandler::handleMousePressEvent at EventHandler.cpp:1402
#8	0x1012827e4 in WebCore::EventHandler::mouseDown at EventHandlerMac.mm:506

In PositionForBox, box-&gt;renderer-&gt;node() is returning a stale pointer.

http://crbug.com/71264</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>347882</commentid>
    <comment_count>1</comment_count>
      <attachid>81728</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-02-08 18:34:46 -0800</bug_when>
    <thetext>Created attachment 81728
demo</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>347892</commentid>
    <comment_count>2</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-02-08 19:12:18 -0800</bug_when>
    <thetext>It seems like inline boxes under INPUT&apos;s renderer is giving us a bad pointer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>347894</commentid>
    <comment_count>3</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-02-08 19:21:31 -0800</bug_when>
    <thetext>Here&apos;s more detailed information.

We&apos;re inside positionForPointWithInlineChildren where we have:
    if (lastRootBoxWithChildren) {
        // We hit this case for Mac behavior when the Y coordinate is below the last box.
        ASSERT(moveCaretToBoundary);
        return VisiblePosition(positionForBox(lastRootBoxWithChildren-&gt;lastLeafChild(), false), DOWNSTREAM); // &lt; this is where we&apos;re now.
    }

stack trace:
#0	0x1018def66 in WebCore::RenderBlock::positionForPointWithInlineChildren at RenderBlock.cpp:4053
#1	0x1018df1d9 in WebCore::RenderBlock::positionForPoint at RenderBlock.cpp:4092
#2	0x1018de993 in WebCore::positionForPointRespectingEditingBoundaries at RenderBlock.cpp:3992
#3	0x1018df24f in WebCore::RenderBlock::positionForPoint at RenderBlock.cpp:4097
#4	0x101277b76 in WebCore::EventHandler::handleMousePressEventSingleClick at EventHandler.cpp:374
#5	0x10127a5f5 in WebCore::EventHandler::handleMousePressEvent at EventHandler.cpp:480
#6	0x10127dd48 in WebCore::EventHandler::handleMousePressEvent at EventHandler.cpp:1402
#7	0x1012827e4 in WebCore::EventHandler::mouseDown at EventHandlerMac.mm:506

(gdb) p showRenderTree(this)
RenderView 0x107051858                 	#document	0x107882000
  RenderBlock 0x107051c68              	HTML	0x107089a90
    RenderBody 0x107076798             	BODY	0x10704e1b0
      RenderBlock 0x107083c18          	P	0x107068580
        RenderText 0x107076888         	#text	0x10704d030 &quot;This tests clicking a region immediately after file input field does not crash WebKit.\nThis manually test, click on the black region below.&quot;
      RenderBlock (positioned) 0x107076dd8	DIV	0x1070769d0 STYLE=width: 200px; height: 200px; position: absolute; top: 20px; left: 0px; background: black;
*       RenderFileUploadControl 0x105b3a708	INPUT	0x10704d240 STYLE=width: 100px; height: 20px; display: block; padding: 10px; background: white;
          RenderButton 0x1070a8c18     	INPUT	0x105b39810
            RenderBlock (anonymous) 0x1070a8e18
              RenderText 0x1070a8d08
$3 = void
(gdb) p showTree(this-&gt;node())
BODY	0x10704e1b0
	#text	0x107092800 &quot;\n&quot;
	P	0x107068580
		#text	0x10704d030 &quot;This tests clicking a region immediately after file input field does not crash WebKit.\nThis manually test, click on the black region below.&quot;
	#text	0x1070aba80 &quot;\n&quot;
	DIV	0x1070769d0 STYLE=width: 200px; height: 200px; position: absolute; top: 20px; left: 0px; background: black;
		#text	0x10704d600 &quot;\n&quot;
*		INPUT	0x10704d240 STYLE=width: 100px; height: 20px; display: block; padding: 10px; background: white;
		#text	0x1070a9010 &quot;\n&quot;
	#text	0x10704d1c0 &quot;\n&quot;
	SCRIPT	0x1070a9070
		#text	0x1070a93c0 &quot;\n\nif (window.layoutTestController &amp;&amp; window.eventSender) {\n    layoutTestController.dumpAsText();\n\n    eventSender.mouseMoveTo(180, 50);\n    eventSender.leapForward(200);\n    eventSender.mouseDown();\n    eventSender.leapForward(200);\n    eventSender.mouseUp();\n    eventSender.leapForward(200);\n    document.writeln(&apos;PASS&apos;);\n}\n\n&quot;
$4 = void
(gdb) p lastRootBoxWithChildren-&gt;renderer()
$5 = (const &apos;WebCore::RenderObject&apos; *) 0x105b3a708
(gdb) p lastRootBoxWithChildren-&gt;lastLeafChild()
$6 = (class WebCore::InlineBox *) 0x1070a0ab8
(gdb) p lastRootBoxWithChildren-&gt;lastLeafChild()-&gt;renderer()
$7 = (const &apos;WebCore::RenderObject&apos; *) 0x1070a8c18
(gdb) p lastRootBoxWithChildren-&gt;lastLeafChild()-&gt;renderer()-&gt;node()
$8 = (class WebCore::Node *) 0x105b39810
(gdb) p showTree(lastRootBoxWithChildren-&gt;lastLeafChild()-&gt;renderer()-&gt;node())
+-荈 (0x105b39810)

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x0000000000000000
0x000000010139901a in WTF::RefPtr&lt;WebCore::HistoryItem&gt;::operator-&gt; (this=0x0) at RefPtr.h:66
66	        ALWAYS_INLINE T* operator-&gt;() const { return m_ptr; }
The program being debugged was signaled while in a function called from GDB.
GDB remains in the frame where the signal was received.
To change this behavior use &quot;set unwindonsignal on&quot;
Evaluation of the expression containing the function (showTree) will be abandoned.

In summary, RenderFileUploadControl&apos;s node() is returning a bad pointer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>347905</commentid>
    <comment_count>4</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-02-08 19:40:52 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; In summary, RenderFileUploadControl&apos;s node() is returning a bad pointer.

Oops, this isn&apos;t quite right.  It&apos;s the shadowInputElement (m_button) under RenderFileUploadControl that&apos;s returning a bogus pointer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>347913</commentid>
    <comment_count>5</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-02-08 20:04:35 -0800</bug_when>
    <thetext>This is a regression.  The crash reproduces on r77919 but does not reproduce on r73316.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>347917</commentid>
    <comment_count>6</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-02-08 20:14:35 -0800</bug_when>
    <thetext>r75294: ok
r75891: ok
r76498: bad!
r76640: bad!
r77034: bad!
r77282: bad!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>347955</commentid>
    <comment_count>7</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-02-08 21:38:12 -0800</bug_when>
    <thetext>Ah, it seems like this isn&apos;t really a security bug.  showTree can print the tree if I explicitly cast the pointer into Node*.  It seems like this is a bug in GDB :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>347988</commentid>
    <comment_count>8</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-02-08 22:17:33 -0800</bug_when>
    <thetext>Ah, this crash itself is a regression from r76107 but the problem is inherent to the situation.  In this case, the hit test code returns a position inside a button control inside an input[type=file]; i.e. [input, 0].  Now, this isn&apos;t a valid DOM position because input can&apos;t have children so we used to hit an assertion in Range.  Now r76107 changed the code to always use the parent anchored position but this poses a problem because input doesn&apos;t have any parent (it&apos;s the only element in the shadow DOM)!

I think we need to make it so that shadow DOM has a document-like root node.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348049</commentid>
    <comment_count>9</comment_count>
      <attachid>81767</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-02-09 01:10:30 -0800</bug_when>
    <thetext>Created attachment 81767
fixes the bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348050</commentid>
    <comment_count>10</comment_count>
      <attachid>81767</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-02-09 01:12:11 -0800</bug_when>
    <thetext>Comment on attachment 81767
fixes the bug

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

&gt; Source/WebCore/rendering/RenderFileUploadControl.h:45
&gt; +    // Shouldn&apos;t hit-test inside file upload control.

I&apos;m going to remove this useless comment before I land if this patched was r+ed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348283</commentid>
    <comment_count>11</comment_count>
    <who name="Lucas Forschler">lforschler</who>
    <bug_when>2011-02-09 09:10:26 -0800</bug_when>
    <thetext>&lt;rdar://problem/8977569&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348323</commentid>
    <comment_count>12</comment_count>
      <attachid>81767</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-02-09 09:45:14 -0800</bug_when>
    <thetext>Comment on attachment 81767
fixes the bug

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

&gt; Source/WebCore/rendering/RenderFileUploadControl.h:46
&gt; +    VisiblePosition positionForPoint(const IntPoint&amp;);

Better to make this function private. Also, we normally specify virtual explicitly when overriding a virtual function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348758</commentid>
    <comment_count>13</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-02-09 18:13:26 -0800</bug_when>
    <thetext>Thanks for the review as always :)

(In reply to comment #12)
&gt; (From update of attachment 81767 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=81767&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/rendering/RenderFileUploadControl.h:46
&gt; &gt; +    VisiblePosition positionForPoint(const IntPoint&amp;);
&gt; 
&gt; Better to make this function private. Also, we normally specify virtual explicitly when overriding a virtual function.

Will do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>348759</commentid>
    <comment_count>14</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-02-09 18:15:04 -0800</bug_when>
    <thetext>Committed r78168: &lt;http://trac.webkit.org/changeset/78168&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>81728</attachid>
            <date>2011-02-08 18:34:46 -0800</date>
            <delta_ts>2011-02-08 18:34:46 -0800</delta_ts>
            <desc>demo</desc>
            <filename>issue71264.html</filename>
            <type>text/html</type>
            <size>766</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bG0+CjxodG1sPgo8Ym9keT4KPHA+VGhpcyB0ZXN0cyBjbGlja2luZyBhIHJl
Z2lvbiBpbW1lZGlhdGVseSBhZnRlciBmaWxlIGlucHV0IGZpZWxkIGRvZXMgbm90IGNyYXNoIFdl
YktpdC4KVGhpcyBtYW51YWxseSB0ZXN0LCBjbGljayBvbiB0aGUgYmxhY2sgcmVnaW9uIGJlbG93
LjwvcD4KPGRpdiBpZD0iZm9ybSIgc3R5bGU9IndpZHRoOiAyMDBweDsgaGVpZ2h0OiAyMDBweDsg
cG9zaXRpb246IGFic29sdXRlOyB0b3A6IDIwcHg7IGxlZnQ6IDBweDsgYmFja2dyb3VuZDogYmxh
Y2s7Ij4KPGlucHV0IHR5cGU9ImZpbGUiIHN0eWxlPSJ3aWR0aDogMTAwcHg7IGhlaWdodDogMjBw
eDsgZGlzcGxheTogYmxvY2s7IHBhZGRpbmc6IDEwcHg7IGJhY2tncm91bmQ6IHdoaXRlOyI+Cjwv
ZGl2Pgo8c2NyaXB0PgoKaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlciAmJiB3aW5kb3cu
ZXZlbnRTZW5kZXIpIHsKICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKCiAg
ICBldmVudFNlbmRlci5tb3VzZU1vdmVUbygxODAsIDUwKTsKICAgIGV2ZW50U2VuZGVyLmxlYXBG
b3J3YXJkKDIwMCk7CiAgICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKICAgIGV2ZW50U2VuZGVy
LmxlYXBGb3J3YXJkKDIwMCk7CiAgICBldmVudFNlbmRlci5tb3VzZVVwKCk7CiAgICBldmVudFNl
bmRlci5sZWFwRm9yd2FyZCgyMDApOwogICAgZG9jdW1lbnQud3JpdGVsbignUEFTUycpOwp9Cgo8
L3NjcmlwdD4KPC9ib2R5Pgo8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>81767</attachid>
            <date>2011-02-09 01:10:30 -0800</date>
            <delta_ts>2011-02-09 09:45:12 -0800</delta_ts>
            <desc>fixes the bug</desc>
            <filename>bug-54053-20110209181028.patch</filename>
            <type>text/plain</type>
            <size>5797</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDc4MDMwKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjUgQEAKKzIwMTEtMDItMDkgIFJ5b3N1a2Ug
Tml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgUkVHUkVTU0lPTihyNzYxMDcpOiBDcmFzaCBpbiBoYW5kbGVNb3Vz
ZVByZXNzRXZlbnRTaW5nbGVDbGljayBkdWUgdG8gc3RhbGUgbm9kZSBwb2ludGVyIGluIHJlbmRl
cmVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NDA1
MworCisgICAgICAgIFRoZSBidWcgd2FzIGNhdXNlZCBieSBSZW5kZXJCbG9jazo6cG9zaXRpb25G
b3JQb2ludCdzIGltcHJvcGVybHkgcmV0dXJuaW5nIGEgc2hhZG93IG5vZGUgaW5zaWRlCisgICAg
ICAgIFJlbmRlckZpbGVVcGxvYWRDb250cm9sIGZvciBoaXQgdGVzdGluZyBhbmQgVmlzaWJsZVNl
bGVjdGlvbjo6dG9Ob3JtYWxpemVkUmFuZ2UncyBhbHdheXMgYXNzdW1pbmcKKyAgICAgICAgdGhl
IHBvc2l0aW9uIHZhcmlhYmxlICJzIiBpcyBub3QgbnVsbC4KKworICAgICAgICBGaXhlZCB0aGUg
YnVnIGJ5IGFsd2F5cyByZXR1cm5pbmcgYSBudWxsIHBvc2l0aW9uIGZyb20gUmVuZGVyRmlsZVVw
bG9hZENvbnRyb2w6OnBvc2l0aW9uRm9yUG9pbnQsCisgICAgICAgIGFuZCBhbHNvIGV4aXRpbmcg
ZWFybHkgd2hlbiBlaXRoZXIgInMiIG9yICJlIiBpcyBudWxsIGluIFZpc2libGVTZWxlY3Rpb246
OnRvTm9ybWFsaXplZFJhbmdlLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZm9ybXMvZmlsZS1pbnB1
dC1oaXQtdGVzdC5odG1sCisKKyAgICAgICAgKiBlZGl0aW5nL1Zpc2libGVTZWxlY3Rpb24uY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6VmlzaWJsZVNlbGVjdGlvbjo6dG9Ob3JtYWxpemVkUmFuZ2Up
OgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJGaWxlVXBsb2FkQ29udHJvbDo6cG9zaXRpb25Gb3JQb2ludCk6
CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRDb250cm9sLmg6CisKIDIwMTEt
MDItMDggIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgRGFyaW4gQWRsZXIuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Zpc2libGVT
ZWxlY3Rpb24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVmlzaWJs
ZVNlbGVjdGlvbi5jcHAJKHJldmlzaW9uIDc3OTEzKQorKysgU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9WaXNpYmxlU2VsZWN0aW9uLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTcyLDYgKzE3Miw5IEBA
IFBhc3NSZWZQdHI8UmFuZ2U+IFZpc2libGVTZWxlY3Rpb246OnRvTm8KICAgICAgICAgcyA9IHMu
cGFyZW50QW5jaG9yZWRFcXVpdmFsZW50KCk7CiAgICAgICAgIGUgPSBlLnBhcmVudEFuY2hvcmVk
RXF1aXZhbGVudCgpOwogICAgIH0KKyAgICAKKyAgICBpZiAocy5pc051bGwoKSB8fCBlLmlzTnVs
bCgpKQorICAgICAgICByZXR1cm4gMDsKIAogICAgIC8vIFZpc2libGVTZWxlY3Rpb25zIGFyZSBz
dXBwb3NlZCB0byBhbHdheXMgYmUgdmFsaWQuICBUaGlzIGNvbnN0cnVjdG9yIHdpbGwgQVNTRVJU
CiAgICAgLy8gaWYgYSB2YWxpZCByYW5nZSBjb3VsZCBub3QgYmUgY3JlYXRlZCwgd2hpY2ggaXMg
ZmluZSBmb3IgdGhpcyBjYWxsc2l0ZS4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckZpbGVVcGxvYWRDb250cm9sLmNwcAkocmV2aXNpb24gNzc5MTMpCisr
KyBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmlsZVVwbG9hZENvbnRyb2wuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0yOTcsNiArMjk3LDExIEBAIHZvaWQgUmVuZGVyRmlsZVVwbG9hZENv
bnRyb2w6OmNvbXB1dGVQcmUKICAgICBzZXRQcmVmZXJyZWRMb2dpY2FsV2lkdGhzRGlydHkoZmFs
c2UpOwogfQogCitWaXNpYmxlUG9zaXRpb24gUmVuZGVyRmlsZVVwbG9hZENvbnRyb2w6OnBvc2l0
aW9uRm9yUG9pbnQoY29uc3QgSW50UG9pbnQmKQoreworICAgIHJldHVybiBWaXNpYmxlUG9zaXRp
b24oKTsKK30KKwogdm9pZCBSZW5kZXJGaWxlVXBsb2FkQ29udHJvbDo6cmVjZWl2ZURyb3BwZWRG
aWxlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgcGF0aHMpCiB7CiAgICAgaWYgKGFsbG93c011bHRp
cGxlRmlsZXMoKSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGaWxlVXBs
b2FkQ29udHJvbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJGaWxlVXBsb2FkQ29udHJvbC5oCShyZXZpc2lvbiA3NzkxMykKKysrIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJGaWxlVXBsb2FkQ29udHJvbC5oCSh3b3JraW5nIGNvcHkpCkBAIC0y
OCw3ICsyOCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQ2hyb21lOwogY2xhc3Mg
SFRNTElucHV0RWxlbWVudDsKLSAgICAKKwogLy8gRWFjaCBSZW5kZXJGaWxlVXBsb2FkQ29udHJv
bCBjb250YWlucyBhIFJlbmRlckJ1dHRvbiAoZm9yIG9wZW5pbmcgdGhlIGZpbGUgY2hvb3Nlciks
IGFuZAogLy8gc3VmZmljaWVudCBzcGFjZSB0byBkcmF3IGEgZmlsZSBpY29uIGFuZCBmaWxlbmFt
ZS4gVGhlIFJlbmRlckJ1dHRvbiBoYXMgYSBzaGFkb3cgbm9kZQogLy8gYXNzb2NpYXRlZCB3aXRo
IGl0IHRvIHJlY2VpdmUgY2xpY2svaG92ZXIgZXZlbnRzLgpAQCAtNDIsNiArNDIsOSBAQCBwdWJs
aWM6CiAKICAgICB2b2lkIGNsaWNrKCk7CiAKKyAgICAvLyBTaG91bGRuJ3QgaGl0LXRlc3QgaW5z
aWRlIGZpbGUgdXBsb2FkIGNvbnRyb2wuCisgICAgVmlzaWJsZVBvc2l0aW9uIHBvc2l0aW9uRm9y
UG9pbnQoY29uc3QgSW50UG9pbnQmKTsKKwogICAgIHZvaWQgcmVjZWl2ZURyb3BwZWRGaWxlcyhj
b25zdCBWZWN0b3I8U3RyaW5nPiYpOwogCiAgICAgU3RyaW5nIGJ1dHRvblZhbHVlKCk7CkluZGV4
OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCShyZXZpc2lvbiA3ODAzMCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDExLTAyLTA5ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3
ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFJFR1JFU1NJT04ocjc2MTA3KTogQ3Jhc2ggaW4gaGFuZGxlTW91c2VQcmVzc0V2ZW50U2lu
Z2xlQ2xpY2sgZHVlIHRvIHN0YWxlIG5vZGUgcG9pbnRlciBpbiByZW5kZXJlcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTQwNTMKKworICAgICAgICBB
ZGRlZCBhIHRlc3QgdG8gZW5zdXJlIFdlYktpdCBkb2VzIG5vdCBjcmFzaCB3aGVuIGEgdXNlciBj
bGlja3Mgb24gYSByZWdpb24gaW1tZWRpYXRlbHkgYWZ0ZXIgYSBmaWxlCisgICAgICAgIHVwbG9h
ZCBjb250cm9sLgorCisgICAgICAgICogZmFzdC9mb3Jtcy9maWxlLWlucHV0LWhpdC10ZXN0LWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9mb3Jtcy9maWxlLWlucHV0LWhpdC10
ZXN0Lmh0bWw6IEFkZGVkLgorCiAyMDExLTAyLTA5ICBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5z
b25AaWdhbGlhLmNvbT4KIAogICAgICAgICBTa2lwIHNvbWUgZmFpbGluZyB0ZXN0cy4KSW5kZXg6
IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvZmlsZS1pbnB1dC1oaXQtdGVzdC1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9mb3Jtcy9maWxlLWlucHV0LWhpdC10ZXN0
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZm9ybXMvZmls
ZS1pbnB1dC1oaXQtdGVzdC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMyBA
QAorVGhpcyB0ZXN0cyBjbGlja2luZyBvbiBhIHJlZ2lvbiBpbW1lZGlhdGVseSBhZnRlciBhIGZp
bGUgaW5wdXQgZmllbGQuIFdlYktpdCBzaG91bGQgbm90IGNyYXNoIGFuZCB5b3Ugc2hvdWxkIHNl
ZSBQQVNTIGJlbG93LiBUbyBtYW51YWxseSB0ZXN0IHRoaXMsIGNsaWNrIG9uIHRoZSBibGFjayBy
ZWdpb24gYmVsb3cuCisKK1BBU1MKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZm9ybXMvZmlsZS1p
bnB1dC1oaXQtdGVzdC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZm9ybXMv
ZmlsZS1pbnB1dC1oaXQtdGVzdC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFz
dC9mb3Jtcy9maWxlLWlucHV0LWhpdC10ZXN0Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEs
MjUgQEAKKzwhRE9DVFlQRSBodGxtPgorPGh0bWw+Cis8Ym9keT4KKzxwPlRoaXMgdGVzdHMgY2xp
Y2tpbmcgb24gYSByZWdpb24gaW1tZWRpYXRlbHkgYWZ0ZXIgYSBmaWxlIGlucHV0IGZpZWxkLiBX
ZWJLaXQgc2hvdWxkIG5vdCBjcmFzaCBhbmQgeW91IHNob3VsZCBzZWUgUEFTUyBiZWxvdy4KK1Rv
IG1hbnVhbGx5IHRlc3QgdGhpcywgY2xpY2sgb24gdGhlIGJsYWNrIHJlZ2lvbiBiZWxvdy48L3A+
Cis8ZGl2IGlkPSJmb3JtIiBzdHlsZT0id2lkdGg6IDIwMHB4OyBoZWlnaHQ6IDIwMHB4OyBwb3Np
dGlvbjogYWJzb2x1dGU7IHRvcDogMjBweDsgbGVmdDogMHB4OyBiYWNrZ3JvdW5kOiBibGFjazsi
PgorPGlucHV0IHR5cGU9ImZpbGUiIHN0eWxlPSJ3aWR0aDogMTAwcHg7IGhlaWdodDogNTBweDsg
ZGlzcGxheTogYmxvY2s7IHBhZGRpbmc6IDEwcHg7IGJhY2tncm91bmQ6IHdoaXRlOyI+Cis8L2Rp
dj4KKzxzY3JpcHQ+CisKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIgJiYgd2luZG93
LmV2ZW50U2VuZGVyKSB7CisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwor
CisgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oMTgwLCA1MCk7CisgICAgZXZlbnRTZW5kZXIu
bGVhcEZvcndhcmQoMjAwKTsKKyAgICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKKyAgICBldmVu
dFNlbmRlci5sZWFwRm9yd2FyZCgyMDApOworICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKKyAg
ICBldmVudFNlbmRlci5sZWFwRm9yd2FyZCgyMDApOworICAgIGRvY3VtZW50LndyaXRlbG4oJ1BB
U1MnKTsKK30KKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>
<flag name="review"
          id="73379"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>