<?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>13401</bug_id>
          
          <creation_ts>2007-04-19 04:37:40 -0700</creation_ts>
          <short_desc>Reproducible crash calling myArray.sort(compareFn) from within a sort comparison function</short_desc>
          <delta_ts>2007-04-19 07:21:36 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>523.x (Safari 3)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>HasReduction, InRadar</keywords>
          <priority>P1</priority>
          <bug_severity>Major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Rowe (bdash)">mrowe</reporter>
          <assigned_to name="Mark Rowe (bdash)">mrowe</assigned_to>
          <cc>mrowe</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>14149</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2007-04-19 04:37:40 -0700</bug_when>
    <thetext>The following code leads to a crash:

        function compareFn1(a, b) {
            return b - a;
        }

        function compareFn2(a, b) {
            numbers1.sort(compareFn1);
            return b - a;
        }

        numbers2.sort(compareFn2);

The crash log is below.  The root cause of this crash is the use of a static variable compareWithCompareFunctionArguments to keep track of the comparison function to be used by the sort operation.  The nested sort operations result in the static variable being overwritten and both attempt to clean up the same data structure upon completion of the comparisons.

Exception Type:  EXC_BAD_ACCESS (SIGBUS)
Exception Codes: KERN_PROTECTION_FAILURE at 0x0000000000000008
Crashed Thread:  0

Thread 0 Crashed:
0   com.apple.JavaScriptCore      	0x002fc296 KJS::List::clear() + 6
1   com.apple.JavaScriptCore      	0x002c25ce compareWithCompareFunctionForQSort(void const*, void const*) + 110
2   libSystem.B.dylib             	0x90c4347e qsort + 1123
3   com.apple.JavaScriptCore      	0x002c28eb KJS::ArrayInstance::sort(KJS::ExecState*, KJS::JSObject*) + 155
4   com.apple.JavaScriptCore      	0x002c5d6c KJS::ArrayProtoFunc::callAsFunction(KJS::ExecState*, KJS::JSObject*, KJS::List const&amp;) + 8684
5   com.apple.JavaScriptCore      	0x002e9b27 KJS::JSObject::call(KJS::ExecState*, KJS::JSObject*, KJS::List const&amp;) + 135
6   com.apple.JavaScriptCore      	0x002dd209 KJS::FunctionCallDotNode::evaluate(KJS::ExecState*) + 745
7   com.apple.JavaScriptCore      	0x002e172d KJS::ExprStatementNode::execute(KJS::ExecState*) + 77
8   com.apple.JavaScriptCore      	0x002e487d KJS::SourceElementsNode::execute(KJS::ExecState*) + 461
9   com.apple.JavaScriptCore      	0x002e1661 KJS::BlockNode::execute(KJS::ExecState*) + 65
10  com.apple.JavaScriptCore      	0x002cf687 KJS::DeclaredFunctionImp::execute(KJS::ExecState*) + 39
11  com.apple.JavaScriptCore      	0x002cf157 KJS::FunctionImp::callAsFunction(KJS::ExecState*, KJS::JSObject*, KJS::List const&amp;) + 359
12  com.apple.JavaScriptCore      	0x002e9b27 KJS::JSObject::call(KJS::ExecState*, KJS::JSObject*, KJS::List const&amp;) + 135
13  com.apple.JavaScriptCore      	0x002dd8dc KJS::FunctionCallResolveNode::evaluate(KJS::ExecState*) + 620
14  com.apple.JavaScriptCore      	0x002e172d KJS::ExprStatementNode::execute(KJS::ExecState*) + 77
15  com.apple.JavaScriptCore      	0x002e4761 KJS::SourceElementsNode::execute(KJS::ExecState*) + 177
16  com.apple.JavaScriptCore      	0x002e1661 KJS::BlockNode::execute(KJS::ExecState*) + 65
17  com.apple.JavaScriptCore      	0x002d2ee6 KJS::Interpreter::evaluate(KJS::UString const&amp;, int, KJS::UChar const*, int, KJS::JSValue*) + 1110
18  com.apple.WebCore             	0x00a0cf11 WebCore::KJSProxy::evaluate(WebCore::String const&amp;, int, WebCore::String const&amp;, WebCore::Node*) + 193
19  com.apple.WebCore             	0x00b70572 WebCore::FrameLoader::executeScript(WebCore::String const&amp;, int, WebCore::Node*, WebCore::String const&amp;) + 82
20  com.apple.WebCore             	0x00b705f1 WebCore::FrameLoader::executeScript(WebCore::Node*, WebCore::String const&amp;, bool) + 65
21  com.apple.WebCore             	0x00b70c25 WebCore::FrameLoader::urlSelected(WebCore::ResourceRequest const&amp;, WebCore::String const&amp;, WebCore::Event*, bool) + 1093
22  com.apple.WebCore             	0x00a4816d WebCore::HTMLAnchorElement::defaultEventHandler(WebCore::Event*) + 1757
23  com.apple.WebCore             	0x009ca0c3 WebCore::EventTargetNode::dispatchGenericEvent(WTF::PassRefPtr&lt;WebCore::Event&gt;, int&amp;, bool) + 739
24  com.apple.WebCore             	0x009ca530 WebCore::EventTargetNode::dispatchEvent(WTF::PassRefPtr&lt;WebCore::Event&gt;, int&amp;, bool, WebCore::EventTarget*) + 160
25  com.apple.WebCore             	0x009ca5fd WebCore::EventTargetNode::dispatchEvent(WTF::PassRefPtr&lt;WebCore::Event&gt;, int&amp;, bool) + 61
26  com.apple.WebCore             	0x009cabdc WebCore::EventTargetNode::dispatchMouseEvent(WebCore::AtomicString const&amp;, int, int, int, int, int, int, bool, bool, bool, bool, bool, WebCore::Node*, WTF::PassRefPtr&lt;WebCore::Event&gt;) + 508
27  com.apple.WebCore             	0x009cb271 WebCore::EventTargetNode::dispatchMouseEvent(WebCore::PlatformMouseEvent const&amp;, WebCore::AtomicString const&amp;, int, WebCore::Node*) + 193
28  com.apple.WebCore             	0x00b99459 WebCore::EventHandler::dispatchMouseEvent(WebCore::AtomicString const&amp;, WebCore::Node*, bool, int, WebCore::PlatformMouseEvent const&amp;, bool) + 425
29  com.apple.WebCore             	0x00b9e08d WebCore::EventHandler::handleMouseReleaseEvent(WebCore::PlatformMouseEvent const&amp;) + 685
30  com.apple.WebCore             	0x00b96b19 WebCore::EventHandler::mouseUp(NSEvent*) + 233
31  com.apple.WebKit              	0x0019a77c -[WebHTMLView mouseUp:] + 220
32  com.apple.AppKit              	0x9237df7d -[NSWindow sendEvent:] + 5523
33  com.apple.Safari              	0x000a71d3 0x1000 + 680403
34  com.apple.AppKit              	0x9236f6fc -[NSApplication sendEvent:] + 2759
35  com.apple.Safari              	0x00016d98 0x1000 + 89496
36  com.apple.AppKit              	0x922a1b4e -[NSApplication run] + 847
37  com.apple.AppKit              	0x92294f16 NSApplicationMain + 663
38  com.apple.Safari              	0x00002daf 0x1000 + 7599
39  com.apple.Safari              	0x0004e329 0x1000 + 316201
40  ???                           	0x00000002 0 + 2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>14119</commentid>
    <comment_count>1</comment_count>
      <attachid>14087</attachid>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2007-04-19 04:44:35 -0700</bug_when>
    <thetext>Created attachment 14087
Test. Click &quot;Do it!&quot; to crash.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>14120</commentid>
    <comment_count>2</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2007-04-19 04:45:59 -0700</bug_when>
    <thetext>One solution may be to use qsort_r rather than a static variable with qsort.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>14121</commentid>
    <comment_count>3</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2007-04-19 04:46:41 -0700</bug_when>
    <thetext>&lt;rdar://problem/5145350&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>14126</commentid>
    <comment_count>4</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2007-04-19 06:06:33 -0700</bug_when>
    <thetext>I have a patch ready, and just need to package up a test case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>14130</commentid>
    <comment_count>5</comment_count>
      <attachid>14088</attachid>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2007-04-19 06:40:51 -0700</bug_when>
    <thetext>Created attachment 14088
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>14109</commentid>
    <comment_count>6</comment_count>
      <attachid>14088</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2007-04-19 07:14:33 -0700</bug_when>
    <thetext>Comment on attachment 14088
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>14110</commentid>
    <comment_count>7</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2007-04-19 07:21:36 -0700</bug_when>
    <thetext>Landed in r20949.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>14087</attachid>
            <date>2007-04-19 04:44:35 -0700</date>
            <delta_ts>2007-04-19 04:44:35 -0700</delta_ts>
            <desc>Test. Click &quot;Do it!&quot; to crash.</desc>
            <filename>test.html</filename>
            <type>text/html</type>
            <size>396</size>
            <attacher name="Mark Rowe (bdash)">mrowe</attacher>
            
              <data encoding="base64">PHNjcmlwdD4KICAgIGZ1bmN0aW9uIGRvSXQoKSB7CiAgICAgICAgdmFyIG51bWJlcnMxID0gWzEs
IDIsIDMsIDQsIDUsIDYsIDddOwogICAgICAgIHZhciBudW1iZXJzMiA9IG51bWJlcnMxLnNsaWNl
KCk7CgogICAgICAgIGZ1bmN0aW9uIGNvbXBhcmVGbjEoYSwgYikgewogICAgICAgICAgICByZXR1
cm4gYiAtIGE7CiAgICAgICAgfQoKICAgICAgICBmdW5jdGlvbiBjb21wYXJlRm4yKGEsIGIpIHsK
ICAgICAgICAgICAgbnVtYmVyczEuc29ydChjb21wYXJlRm4xKTsKICAgICAgICAgICAgcmV0dXJu
IGIgLSBhOwogICAgICAgIH0KCiAgICAgICAgbnVtYmVyczIuc29ydChjb21wYXJlRm4yKTsKICAg
IH0KPC9zY3JpcHQ+Cgo8YSBocmVmPSdqYXZhc2NyaXB0OmRvSXQoKTsnPkRvIGl0ITwvYT4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>14088</attachid>
            <date>2007-04-19 06:40:51 -0700</date>
            <delta_ts>2007-04-19 07:14:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>webkit-bug-13401-v1.patch</filename>
            <type>text/plain</type>
            <size>5817</size>
            <attacher name="Mark Rowe (bdash)">mrowe</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwOTQ4KQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMDctMDQtMjAgIE1hcmsgUm93
ZSAgPG1yb3dlQGFwcGxlLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBGaXggaHR0cDovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTM0MDEKKyAgICAgICAgQnVnIDEzNDAxOiBSZXByb2R1Y2libGUgY3Jhc2ggY2FsbGluZyBteUFy
cmF5LnNvcnQoY29tcGFyZUZuKSBmcm9tIHdpdGhpbgorICAgICAgICBhIHNvcnQgY29tcGFyaXNv
biBmdW5jdGlvbgorCisgICAgICAgICoga2pzL2FycmF5X29iamVjdC5jcHA6CisgICAgICAgIChB
cnJheUluc3RhbmNlOjpzb3J0KTogU2F2ZS9yZXN0b3JlIHRoZSBzdGF0aWMgdmFyaWFibGVzIGFy
b3VuZCBjYWxscyB0byBxc29ydAorICAgICAgICB0byBlbnN1cmUgbmVzdGVkIGNhbGxzIHRvIEFy
cmF5SW5zdGFuY2U6OnNvcnQgYmVoYXZlIGNvcnJlY3RseS4KKwogMjAwNy0wNC0xMiAgRGVuZWIg
TWVrZXRhICA8ZG1la2V0YUBhZG9iZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4g
QWRsZXIuCkluZGV4OiBKYXZhU2NyaXB0Q29yZS9ranMvYXJyYXlfb2JqZWN0LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS9ranMvYXJyYXlfb2JqZWN0LmNwcAkocmV2aXNpb24gMjA5
NDgpCisrKyBKYXZhU2NyaXB0Q29yZS9ranMvYXJyYXlfb2JqZWN0LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjg0LDcgKzI4NCw3IEBAIHZvaWQgQXJyYXlJbnN0YW5jZTo6bWFyaygpCiAgIH0KIH0K
IAotc3RhdGljIEV4ZWNTdGF0ZSAqZXhlY0ZvckNvbXBhcmVCeVN0cmluZ0ZvclFTb3J0Oworc3Rh
dGljIEV4ZWNTdGF0ZSogZXhlY0ZvckNvbXBhcmVCeVN0cmluZ0ZvclFTb3J0ID0gMDsKIAogc3Rh
dGljIGludCBjb21wYXJlQnlTdHJpbmdGb3JRU29ydChjb25zdCB2b2lkICphLCBjb25zdCB2b2lk
ICpiKQogewpAQCAtMzAwLDEzICszMDAsMTQgQEAgc3RhdGljIGludCBjb21wYXJlQnlTdHJpbmdG
b3JRU29ydChjb25zdAogICAgIHJldHVybiBjb21wYXJlKHZhLT50b1N0cmluZyhleGVjKSwgdmIt
PnRvU3RyaW5nKGV4ZWMpKTsKIH0KIAotdm9pZCBBcnJheUluc3RhbmNlOjpzb3J0KEV4ZWNTdGF0
ZSAqZXhlYykKK3ZvaWQgQXJyYXlJbnN0YW5jZTo6c29ydChFeGVjU3RhdGUqIGV4ZWMpCiB7CiAg
ICAgaW50IGxlbmd0aE5vdEluY2x1ZGluZ1VuZGVmaW5lZCA9IHB1c2hVbmRlZmluZWRPYmplY3Rz
VG9FbmQoZXhlYyk7Ci0gICAgCisKKyAgICBFeGVjU3RhdGUqIG9sZEV4ZWMgPSBleGVjRm9yQ29t
cGFyZUJ5U3RyaW5nRm9yUVNvcnQ7CiAgICAgZXhlY0ZvckNvbXBhcmVCeVN0cmluZ0ZvclFTb3J0
ID0gZXhlYzsKLSAgICBxc29ydChzdG9yYWdlLCBsZW5ndGhOb3RJbmNsdWRpbmdVbmRlZmluZWQs
IHNpemVvZihKU1ZhbHVlICopLCBjb21wYXJlQnlTdHJpbmdGb3JRU29ydCk7Ci0gICAgZXhlY0Zv
ckNvbXBhcmVCeVN0cmluZ0ZvclFTb3J0ID0gMDsKKyAgICBxc29ydChzdG9yYWdlLCBsZW5ndGhO
b3RJbmNsdWRpbmdVbmRlZmluZWQsIHNpemVvZihKU1ZhbHVlKiksIGNvbXBhcmVCeVN0cmluZ0Zv
clFTb3J0KTsKKyAgICBleGVjRm9yQ29tcGFyZUJ5U3RyaW5nRm9yUVNvcnQgPSBvbGRFeGVjOwog
fQogCiBzdHJ1Y3QgQ29tcGFyZVdpdGhDb21wYXJlRnVuY3Rpb25Bcmd1bWVudHMgewpAQCAtMzI1
LDcgKzMyNiw3IEBAIHN0cnVjdCBDb21wYXJlV2l0aENvbXBhcmVGdW5jdGlvbkFyZ3VtZW4KICAg
ICBKU09iamVjdCAqZ2xvYmFsT2JqZWN0OwogfTsKIAotc3RhdGljIENvbXBhcmVXaXRoQ29tcGFy
ZUZ1bmN0aW9uQXJndW1lbnRzICpjb21wYXJlV2l0aENvbXBhcmVGdW5jdGlvbkFyZ3VtZW50czsK
K3N0YXRpYyBDb21wYXJlV2l0aENvbXBhcmVGdW5jdGlvbkFyZ3VtZW50cyogY29tcGFyZVdpdGhD
b21wYXJlRnVuY3Rpb25Bcmd1bWVudHMgPSAwOwogCiBzdGF0aWMgaW50IGNvbXBhcmVXaXRoQ29t
cGFyZUZ1bmN0aW9uRm9yUVNvcnQoY29uc3Qgdm9pZCAqYSwgY29uc3Qgdm9pZCAqYikKIHsKQEAg
LTM0OCwxNCArMzQ5LDE1IEBAIHN0YXRpYyBpbnQgY29tcGFyZVdpdGhDb21wYXJlRnVuY3Rpb25G
b3IKICAgICByZXR1cm4gY29tcGFyZVJlc3VsdCA8IDAgPyAtMSA6IGNvbXBhcmVSZXN1bHQgPiAw
ID8gMSA6IDA7CiB9CiAKLXZvaWQgQXJyYXlJbnN0YW5jZTo6c29ydChFeGVjU3RhdGUgKmV4ZWMs
IEpTT2JqZWN0ICpjb21wYXJlRnVuY3Rpb24pCit2b2lkIEFycmF5SW5zdGFuY2U6OnNvcnQoRXhl
Y1N0YXRlKiBleGVjLCBKU09iamVjdCogY29tcGFyZUZ1bmN0aW9uKQogewogICAgIGludCBsZW5n
dGhOb3RJbmNsdWRpbmdVbmRlZmluZWQgPSBwdXNoVW5kZWZpbmVkT2JqZWN0c1RvRW5kKGV4ZWMp
OwotICAgIAorCisgICAgQ29tcGFyZVdpdGhDb21wYXJlRnVuY3Rpb25Bcmd1bWVudHMqIG9sZEFy
Z3MgPSBjb21wYXJlV2l0aENvbXBhcmVGdW5jdGlvbkFyZ3VtZW50czsKICAgICBDb21wYXJlV2l0
aENvbXBhcmVGdW5jdGlvbkFyZ3VtZW50cyBhcmdzKGV4ZWMsIGNvbXBhcmVGdW5jdGlvbik7CiAg
ICAgY29tcGFyZVdpdGhDb21wYXJlRnVuY3Rpb25Bcmd1bWVudHMgPSAmYXJnczsKLSAgICBxc29y
dChzdG9yYWdlLCBsZW5ndGhOb3RJbmNsdWRpbmdVbmRlZmluZWQsIHNpemVvZihKU1ZhbHVlICop
LCBjb21wYXJlV2l0aENvbXBhcmVGdW5jdGlvbkZvclFTb3J0KTsKLSAgICBjb21wYXJlV2l0aENv
bXBhcmVGdW5jdGlvbkFyZ3VtZW50cyA9IDA7CisgICAgcXNvcnQoc3RvcmFnZSwgbGVuZ3RoTm90
SW5jbHVkaW5nVW5kZWZpbmVkLCBzaXplb2YoSlNWYWx1ZSopLCBjb21wYXJlV2l0aENvbXBhcmVG
dW5jdGlvbkZvclFTb3J0KTsKKyAgICBjb21wYXJlV2l0aENvbXBhcmVGdW5jdGlvbkFyZ3VtZW50
cyA9IG9sZEFyZ3M7CiB9CiAKIHVuc2lnbmVkIEFycmF5SW5zdGFuY2U6OnB1c2hVbmRlZmluZWRP
YmplY3RzVG9FbmQoRXhlY1N0YXRlICpleGVjKQpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMjA5NDgpCisr
KyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNSBAQAor
MjAwNy0wNC0yMCAgTWFyayBSb3dlICA8bXJvd2VAYXBwbGUuY29tPgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3QgZm9yIGh0dHA6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNDAxCisgICAgICAgIEJ1ZyAxMzQwMTogUmVwcm9k
dWNpYmxlIGNyYXNoIGNhbGxpbmcgbXlBcnJheS5zb3J0KGNvbXBhcmVGbikgZnJvbSB3aXRoaW4K
KyAgICAgICAgYSBzb3J0IGNvbXBhcmlzb24gZnVuY3Rpb24KKworICAgICAgICAqIGZhc3QvanMv
YXJyYXktc29ydC1yZWVudHJhbmNlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFz
dC9qcy9hcnJheS1zb3J0LXJlZW50cmFuY2UuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9q
cy9yZXNvdXJjZXMvYXJyYXktc29ydC1yZWVudHJhbmNlLmpzOiBBZGRlZC4KKwogMjAwNy0wNC0x
OSAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERh
cmluLgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9qcy9hcnJheS1zb3J0LXJlZW50cmFuY2UtZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvanMvYXJyYXktc29ydC1y
ZWVudHJhbmNlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3Qv
anMvYXJyYXktc29ydC1yZWVudHJhbmNlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSw5IEBACitUaGlzIHRlc3RzIHRoYXQgYSBjYWxsIHRvIGFycmF5LnNvcnQoY29tcGFyZUZ1
bmN0aW9uKSBkb2VzIG5vdCBjcmFzaCBmcm9tIHdpdGhpbiBhIHNvcnQgY29tcGFyaXNvbiBmdW5j
dGlvbi4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0
L2pzL2FycmF5LXNvcnQtcmVlbnRyYW5jZS5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2Zhc3QvanMvYXJyYXktc29ydC1yZWVudHJhbmNlLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlv
dXRUZXN0cy9mYXN0L2pzL2FycmF5LXNvcnQtcmVlbnRyYW5jZS5odG1sCShyZXZpc2lvbiAwKQpA
QCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RURCBIVE1M
Ly9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSJyZXNv
dXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+
PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2Fy
cmF5LXNvcnQtcmVlbnRyYW5jZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlv
dXRUZXN0cy9mYXN0L2pzL3Jlc291cmNlcy9hcnJheS1zb3J0LXJlZW50cmFuY2UuanMKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9qcy9yZXNvdXJjZXMvYXJyYXktc29ydC1yZWVudHJh
bmNlLmpzCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9qcy9yZXNvdXJjZXMvYXJy
YXktc29ydC1yZWVudHJhbmNlLmpzCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE5IEBACitkZXNj
cmlwdGlvbigKKyJUaGlzIHRlc3RzIHRoYXQgYSBjYWxsIHRvIGFycmF5LnNvcnQoY29tcGFyZUZ1
bmN0aW9uKSBkb2VzIG5vdCBjcmFzaCBmcm9tIHdpdGhpbiBhIHNvcnQgY29tcGFyaXNvbiBmdW5j
dGlvbi4iCispOworCit2YXIgbnVtYmVyczEgPSBbMSwgMiwgMywgNCwgNSwgNiwgN107Cit2YXIg
bnVtYmVyczIgPSBudW1iZXJzMS5zbGljZSgpOworCitmdW5jdGlvbiBjb21wYXJlRm4xKGEsIGIp
IHsKKyAgICByZXR1cm4gYiAtIGE7Cit9CisKK2Z1bmN0aW9uIGNvbXBhcmVGbjIoYSwgYikgewor
ICAgIG51bWJlcnMxLnNvcnQoY29tcGFyZUZuMSk7CisgICAgcmV0dXJuIGIgLSBhOworfQorCitu
dW1iZXJzMi5zb3J0KGNvbXBhcmVGbjIpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1
ZTsK
</data>
<flag name="review"
          id="5695"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>