<?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>23078</bug_id>
          
          <creation_ts>2009-01-02 08:56:59 -0800</creation_ts>
          <short_desc>[jsfunfuzz] unwind logic for exceptions in eval fails to account for dynamic scope external to the eval</short_desc>
          <delta_ts>2009-01-02 20:37:00 -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>JavaScriptCore</component>
          <version>528+ (Nightly build)</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></keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>13638</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Oliver Hunt">oliver</reporter>
          <assigned_to name="Oliver Hunt">oliver</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>104087</commentid>
    <comment_count>0</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2009-01-02 08:56:59 -0800</bug_when>
    <thetext>Reduced case
(function(){with({}) eval(&quot;try { unknown; } catch(x) { unknown; }&quot;)})()

#0  0x004af39d in JSC::ScopeChainNode::globalObject (this=0x911f90) at JSGlobalObject.h:331
#1  0x004af3e3 in JSC::ExecState::lexicalGlobalObject (this=0xa100b0) at interpreter/CallFrame.h:53
#2  0x004b6160 in JSC::ExecState::dynamicGlobalObject (this=0xa100b0) at JSGlobalObject.h:350
#3  0x0050c2a8 in JSC::Interpreter::throwException (this=0x1009e00, callFrame=@0xbffff46c, exceptionValue=@0xbffff468, bytecodeOffset=13, explicitThrow=false) at /Volumes/Data/WebKit/OpenSource/JavaScriptCore/interpreter/Interpreter.cpp:826
#4  0x0050c5b4 in JSC::Interpreter::cti_vm_throw (args=0x0) at /Volumes/Data/WebKit/OpenSource/JavaScriptCore/interpreter/Interpreter.cpp:6056
#5  0x004ff8e2 in JSC::Interpreter::retrieveCaller () at /Volumes/Data/WebKit/OpenSource/JavaScriptCore/interpreter/Interpreter.cpp:4007
#6  0x00520158 in JSC::JIT::execute (code=0x481a0, registerFile=0x1009e34, callFrame=0xa10048, globalData=0x1009800, exception=0xbffff5c0) at JIT.h:350
#7  0x00507115 in JSC::Interpreter::execute (this=0x1009e00, programNode=0x911f20, callFrame=0x90d3e4, scopeChain=0x90d540, thisObj=0x50000, exception=0xbffff5c0) at /Volumes/Data/WebKit/OpenSource/JavaScriptCore/interpreter/Interpreter.cpp:910
#8  0x0048f7b4 in JSC::evaluate (exec=0x90d3e4, scopeChain=@0x90d3a0, source=@0xbffff64c, thisValue=0x0) at Completion.cpp:67
#9  0x00002a10 in runWithScripts (globalObject=0x50000, fileNames=@0xbffff6bc, dump=false) at /Volumes/Data/WebKit/OpenSource/JavaScriptCore/jsc.cpp:336
#10 0x00003a8b in jscmain (argc=2, argv=0xbffff744, globalData=0x1009800) at /Volumes/Data/WebKit/OpenSource/JavaScriptCore/jsc.cpp:459
#11 0x00003b2b in main (argc=2, argv=0xbffff744) at /Volumes/Data/WebKit/OpenSource/JavaScriptCore/jsc.cpp:300</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>104185</commentid>
    <comment_count>1</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2009-01-02 15:57:17 -0800</bug_when>
    <thetext>Finally worked out the cause of this.

in the expression
 eval(&quot;try { throw } catch(e){ /* handler */ }&quot;)

The eval code will be compiled such that the handler will have an expected scope depth of 0.  However if we place the eval inside a with() (or similar),

with({}) eval(&quot;try { throw } catch(e){ /* handler */ }&quot;)

We encounter a problem -- eval works in the local scope of the function the calls it -- eg. the base of the eval scope is the top of the scope chain at the point it is called.  This means we get the following scope chain behaviour:

[G] -- global object
[G,activation] -- enter the function
[G,activation, {}] -- enter with
[G,activation, {}] -- call eval
[G,activation, {}] -- throw.  At this point we find the exception handler and it says the expected scope depth is *zero*
[G,activation] -- unwound the stack
[G] -- exit with, and whoops, we have just dropped the activation :-O

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>104212</commentid>
    <comment_count>2</comment_count>
      <attachid>26388</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2009-01-02 20:27:17 -0800</bug_when>
    <thetext>Created attachment 26388
Fixerate the accursed thing

Fixed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>104213</commentid>
    <comment_count>3</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2009-01-02 20:37:00 -0800</bug_when>
    <thetext>Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	JavaScriptCore/ChangeLog
	M	JavaScriptCore/bytecompiler/BytecodeGenerator.cpp
	M	JavaScriptCore/bytecompiler/BytecodeGenerator.h
	M	JavaScriptCore/interpreter/Interpreter.cpp
	M	JavaScriptCore/runtime/ScopeChain.cpp
	M	JavaScriptCore/runtime/ScopeChain.h
	M	LayoutTests/ChangeLog
	A	LayoutTests/fast/js/exception-with-handler-inside-eval-with-dynamic-scope-expected.txt
	A	LayoutTests/fast/js/exception-with-handler-inside-eval-with-dynamic-scope.html
	A	LayoutTests/fast/js/resources/exception-with-handler-inside-eval-with-dynamic-scope.js
Committed r39571

</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>26388</attachid>
            <date>2009-01-02 20:27:17 -0800</date>
            <delta_ts>2009-01-02 20:32:21 -0800</delta_ts>
            <desc>Fixerate the accursed thing</desc>
            <filename>bug23078.patch</filename>
            <type>text/plain</type>
            <size>7624</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCBmNDQ3MWU4Li5mOTcxNjdkIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjkg
QEAKIDIwMDktMDEtMDIgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KIAorICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbanNmdW5mdXp6XSB1bndp
bmQgbG9naWMgZm9yIGV4Y2VwdGlvbnMgaW4gZXZhbCBmYWlscyB0byBhY2NvdW50IGZvciBkeW5h
bWljIHNjb3BlIGV4dGVybmFsIHRvIHRoZSBldmFsCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzA3OAorCisgICAgICAgIFRoaXMgYnVnIHdhcyBjYXVz
ZWQgYnkgZXZhbCBjb2RlYmxvY2tzIGJlaW5nIGdlbmVyYXRlZCB3aXRob3V0IGFjY291bnRpbmcK
KyAgICAgICAgZm9yIHRoZSBkZXB0aCBvZiB0aGUgc2NvcGUgY2hhaW4gdGhleSBpbmhlcml0ZWQu
ICBUaGlzIG1lYW50IHRoYXQgZXhjZXB0aW9uCisgICAgICAgIGhhbmRsZXJzIHdvdWxkIHVuZGVy
c3RhdGUgdGhlaXIgZXhwZWN0ZWQgc2NvcGUgY2hhaW4gZGVwdGgsIHdoaWNoIGluIHR1cm4KKyAg
ICAgICAgbGVkIHRvIGluY29ycmVjdGx5IHJlbW92aW5nIG5vZGVzIGZyb20gdGhlIHNjb3BlIGNo
YWluLgorCisgICAgICAgICogYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcDoKKyAg
ICAgICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OkJ5dGVjb2RlR2VuZXJhdG9yKToKKyAgICAg
ICAgKEpTQzo6Qnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRDYXRjaCk6CisgICAgICAgICogYnl0ZWNv
bXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmg6CisgICAgICAgICogaW50ZXJwcmV0ZXIvSW50ZXJw
cmV0ZXIuY3BwOgorICAgICAgICAoSlNDOjpkZXB0aCk6CisgICAgICAgICogcnVudGltZS9TY29w
ZUNoYWluLmNwcDoKKyAgICAgICAgKEpTQzo6U2NvcGVDaGFpbjo6bG9jYWxEZXB0aCk6CisgICAg
ICAgICogcnVudGltZS9TY29wZUNoYWluLmg6CisgICAgICAgIChKU0M6OlNjb3BlQ2hhaW5Ob2Rl
OjpkZXJlZik6CisgICAgICAgIChKU0M6OlNjb3BlQ2hhaW5Ob2RlOjpyZWYpOgorCisyMDA5LTAx
LTAyICBPbGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+CisKICAgICAgICAgUmV2aWV3ZWQg
YnkgTWFjaWVqIFN0YWNob3dpYWsuCiAKICAgICAgICAgTWFrZSByYW5kb21OdW1iZXIgZ2VuZXJh
dGUgMl41MyB2YWx1ZXMgaW5zdGVhZCBvZiAyXjMyIChvciAyXjMxIGZvciByYW5kKCkgcGxhdGZv
cm1zKQpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2Vu
ZXJhdG9yLmNwcCBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRv
ci5jcHAKaW5kZXggNzQwOWNmZS4uNDgyYzZmNSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS9i
eXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3BwCkBAIC0yMTIsNiArMjEyLDcgQEAgQnl0
ZWNvZGVHZW5lcmF0b3I6OkJ5dGVjb2RlR2VuZXJhdG9yKFByb2dyYW1Ob2RlKiBwcm9ncmFtTm9k
ZSwgY29uc3QgRGVidWdnZXIqIGQKICAgICAsIG1fdGhpc1JlZ2lzdGVyKFJlZ2lzdGVyRmlsZTo6
UHJvZ3JhbUNvZGVUaGlzUmVnaXN0ZXIpCiAgICAgLCBtX2ZpbmFsbHlEZXB0aCgwKQogICAgICwg
bV9keW5hbWljU2NvcGVEZXB0aCgwKQorICAgICwgbV9iYXNlU2NvcGVEZXB0aCgwKQogICAgICwg
bV9jb2RlVHlwZShHbG9iYWxDb2RlKQogICAgICwgbV9uZXh0R2xvYmFsSW5kZXgoLTEpCiAgICAg
LCBtX2dsb2JhbERhdGEoJnNjb3BlQ2hhaW4uZ2xvYmFsT2JqZWN0KCktPmdsb2JhbEV4ZWMoKS0+
Z2xvYmFsRGF0YSgpKQpAQCAtMjkyLDYgKzI5Myw3IEBAIEJ5dGVjb2RlR2VuZXJhdG9yOjpCeXRl
Y29kZUdlbmVyYXRvcihGdW5jdGlvbkJvZHlOb2RlKiBmdW5jdGlvbkJvZHksIGNvbnN0IERlYnVn
CiAgICAgLCBtX2NvZGVCbG9jayhjb2RlQmxvY2spCiAgICAgLCBtX2ZpbmFsbHlEZXB0aCgwKQog
ICAgICwgbV9keW5hbWljU2NvcGVEZXB0aCgwKQorICAgICwgbV9iYXNlU2NvcGVEZXB0aCgwKQog
ICAgICwgbV9jb2RlVHlwZShGdW5jdGlvbkNvZGUpCiAgICAgLCBtX2dsb2JhbERhdGEoJnNjb3Bl
Q2hhaW4uZ2xvYmFsT2JqZWN0KCktPmdsb2JhbEV4ZWMoKS0+Z2xvYmFsRGF0YSgpKQogICAgICwg
bV9sYXN0T3Bjb2RlSUQob3BfZW5kKQpAQCAtMzYzLDEyICszNjUsMTMgQEAgQnl0ZWNvZGVHZW5l
cmF0b3I6OkJ5dGVjb2RlR2VuZXJhdG9yKEV2YWxOb2RlKiBldmFsTm9kZSwgY29uc3QgRGVidWdn
ZXIqIGRlYnVnZ2UKICAgICAsIG1fdGhpc1JlZ2lzdGVyKFJlZ2lzdGVyRmlsZTo6UHJvZ3JhbUNv
ZGVUaGlzUmVnaXN0ZXIpCiAgICAgLCBtX2ZpbmFsbHlEZXB0aCgwKQogICAgICwgbV9keW5hbWlj
U2NvcGVEZXB0aCgwKQorICAgICwgbV9iYXNlU2NvcGVEZXB0aChzY29wZUNoYWluLmxvY2FsRGVw
dGgoKSkKICAgICAsIG1fY29kZVR5cGUoRXZhbENvZGUpCiAgICAgLCBtX2dsb2JhbERhdGEoJnNj
b3BlQ2hhaW4uZ2xvYmFsT2JqZWN0KCktPmdsb2JhbEV4ZWMoKS0+Z2xvYmFsRGF0YSgpKQogICAg
ICwgbV9sYXN0T3Bjb2RlSUQob3BfZW5kKQogICAgICwgbV9lbWl0Tm9kZURlcHRoKDApCiB7Ci0g
ICAgaWYgKG1fc2hvdWxkRW1pdERlYnVnSG9va3MpCisgICAgaWYgKG1fc2hvdWxkRW1pdERlYnVn
SG9va3MgfHwgbV9iYXNlU2NvcGVEZXB0aCkKICAgICAgICAgbV9jb2RlQmxvY2stPnNldE5lZWRz
RnVsbFNjb3BlQ2hhaW4odHJ1ZSk7CiAKICAgICBlbWl0T3Bjb2RlKG9wX2VudGVyKTsKQEAgLTE1
ODgsOSArMTU5MSw5IEBAIFJlZ2lzdGVySUQqIEJ5dGVjb2RlR2VuZXJhdG9yOjplbWl0TmV4dFBy
b3BlcnR5TmFtZShSZWdpc3RlcklEKiBkc3QsIFJlZ2lzdGVySUQqCiBSZWdpc3RlcklEKiBCeXRl
Y29kZUdlbmVyYXRvcjo6ZW1pdENhdGNoKFJlZ2lzdGVySUQqIHRhcmdldFJlZ2lzdGVyLCBMYWJl
bCogc3RhcnQsIExhYmVsKiBlbmQpCiB7CiAjaWYgRU5BQkxFKEpJVCkKLSAgICBIYW5kbGVySW5m
byBpbmZvID0geyBzdGFydC0+b2Zmc2V0RnJvbSgwKSwgZW5kLT5vZmZzZXRGcm9tKDApLCBpbnN0
cnVjdGlvbnMoKS5zaXplKCksIG1fZHluYW1pY1Njb3BlRGVwdGgsIDAgfTsKKyAgICBIYW5kbGVy
SW5mbyBpbmZvID0geyBzdGFydC0+b2Zmc2V0RnJvbSgwKSwgZW5kLT5vZmZzZXRGcm9tKDApLCBp
bnN0cnVjdGlvbnMoKS5zaXplKCksIG1fZHluYW1pY1Njb3BlRGVwdGggKyBtX2Jhc2VTY29wZURl
cHRoLCAwIH07CiAjZWxzZQotICAgIEhhbmRsZXJJbmZvIGluZm8gPSB7IHN0YXJ0LT5vZmZzZXRG
cm9tKDApLCBlbmQtPm9mZnNldEZyb20oMCksIGluc3RydWN0aW9ucygpLnNpemUoKSwgbV9keW5h
bWljU2NvcGVEZXB0aCB9OworICAgIEhhbmRsZXJJbmZvIGluZm8gPSB7IHN0YXJ0LT5vZmZzZXRG
cm9tKDApLCBlbmQtPm9mZnNldEZyb20oMCksIGluc3RydWN0aW9ucygpLnNpemUoKSwgbV9keW5h
bWljU2NvcGVEZXB0aCArIG1fYmFzZVNjb3BlRGVwdGggfTsKICNlbmRpZgogCiAgICAgbV9jb2Rl
QmxvY2stPmFkZEV4Y2VwdGlvbkhhbmRsZXIoaW5mbyk7CmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0
Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuaCBiL0phdmFTY3JpcHRDb3JlL2J5
dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCmluZGV4IDQ0ZDQzYTYuLjliZmFiODIgMTAw
NjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5o
CisrKyBiL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCkBA
IC00NDAsNiArNDQwLDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIFJlZlB0cjxSZWdpc3Rl
cklEPiBtX2xhc3RDb25zdGFudDsKICAgICAgICAgaW50IG1fZmluYWxseURlcHRoOwogICAgICAg
ICBpbnQgbV9keW5hbWljU2NvcGVEZXB0aDsKKyAgICAgICAgaW50IG1fYmFzZVNjb3BlRGVwdGg7
CiAgICAgICAgIENvZGVUeXBlIG1fY29kZVR5cGU7CiAKICAgICAgICAgVmVjdG9yPENvbnRyb2xG
bG93Q29udGV4dD4gbV9zY29wZUNvbnRleHRTdGFjazsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRD
b3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcCBiL0phdmFTY3JpcHRDb3JlL2ludGVycHJl
dGVyL0ludGVycHJldGVyLmNwcAppbmRleCAzN2FiODM2Li4zNjgzZmIxIDEwMDY0NAotLS0gYS9K
YXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAKKysrIGIvSmF2YVNjcmlw
dENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCkBAIC0xMDIsMTYgKzEwMiw3IEBAIHN0
YXRpYyBpbnQgZGVwdGgoQ29kZUJsb2NrKiBjb2RlQmxvY2ssIFNjb3BlQ2hhaW4mIHNjKQogewog
ICAgIGlmICghY29kZUJsb2NrLT5uZWVkc0Z1bGxTY29wZUNoYWluKCkpCiAgICAgICAgIHJldHVy
biAwOwotICAgIGludCBzY29wZURlcHRoID0gMDsKLSAgICBTY29wZUNoYWluSXRlcmF0b3IgaXRl
ciA9IHNjLmJlZ2luKCk7Ci0gICAgU2NvcGVDaGFpbkl0ZXJhdG9yIGVuZCA9IHNjLmVuZCgpOwot
ICAgIHdoaWxlICghKCppdGVyKS0+aXNPYmplY3QoJkpTQWN0aXZhdGlvbjo6aW5mbykpIHsKLSAg
ICAgICAgKytpdGVyOwotICAgICAgICBpZiAoaXRlciA9PSBlbmQpCi0gICAgICAgICAgICBicmVh
azsKLSAgICAgICAgKytzY29wZURlcHRoOwotICAgIH0KLSAgICByZXR1cm4gc2NvcGVEZXB0aDsK
KyAgICByZXR1cm4gc2MubG9jYWxEZXB0aCgpOwogfQogCiAvLyBGSVhNRTogVGhpcyBvcGVyYXRp
b24gc2hvdWxkIGJlIGNhbGxlZCAiZ2V0TnVtYmVyIiwgbm90ICJpc051bWJlciIgKGFzIGl0IGlz
IGluIEpTVmFsdWUuaCkuCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Njb3Bl
Q2hhaW4uY3BwIGIvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TY29wZUNoYWluLmNwcAppbmRleCBl
OTBiNTY1Li43YWRjMmZjIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Njb3Bl
Q2hhaW4uY3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU2NvcGVDaGFpbi5jcHAKQEAg
LTUwLDQgKzUwLDE4IEBAIHZvaWQgU2NvcGVDaGFpbk5vZGU6OnByaW50KCkgY29uc3QKIAogI2Vu
ZGlmCiAKK2ludCBTY29wZUNoYWluOjpsb2NhbERlcHRoKCkgY29uc3QKK3sKKyAgICBpbnQgc2Nv
cGVEZXB0aCA9IDA7CisgICAgU2NvcGVDaGFpbkl0ZXJhdG9yIGl0ZXIgPSB0aGlzLT5iZWdpbigp
OworICAgIFNjb3BlQ2hhaW5JdGVyYXRvciBlbmQgPSB0aGlzLT5lbmQoKTsKKyAgICB3aGlsZSAo
ISgqaXRlciktPmlzT2JqZWN0KCZKU0FjdGl2YXRpb246OmluZm8pKSB7CisgICAgICAgICsraXRl
cjsKKyAgICAgICAgaWYgKGl0ZXIgPT0gZW5kKQorICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
ICsrc2NvcGVEZXB0aDsKKyAgICB9CisgICAgcmV0dXJuIHNjb3BlRGVwdGg7Cit9CisKIH0gLy8g
bmFtZXNwYWNlIEpTQwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TY29wZUNo
YWluLmggYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Njb3BlQ2hhaW4uaAppbmRleCA5M2U3ZjFh
Li4zMmI1ZTkyIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Njb3BlQ2hhaW4u
aAorKysgYi9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Njb3BlQ2hhaW4uaApAQCAtNDgsOCArNDgs
OCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgSlNPYmplY3QqIGdsb2JhbFRoaXM7CiAgICAg
ICAgIGludCByZWZDb3VudDsKIAotICAgICAgICB2b2lkIGRlcmVmKCkgeyBpZiAoLS1yZWZDb3Vu
dCA9PSAwKSByZWxlYXNlKCk7IH0KLSAgICAgICAgdm9pZCByZWYoKSB7ICsrcmVmQ291bnQ7IH0K
KyAgICAgICAgdm9pZCBkZXJlZigpIHsgQVNTRVJUKHJlZkNvdW50KTsgaWYgKC0tcmVmQ291bnQg
PT0gMCkgeyByZWxlYXNlKCk7fSB9CisgICAgICAgIHZvaWQgcmVmKCkgeyBBU1NFUlQocmVmQ291
bnQpOyArK3JlZkNvdW50OyB9CiAgICAgICAgIHZvaWQgcmVsZWFzZSgpOwogCiAgICAgICAgIC8v
IEJlZm9yZSBjYWxsaW5nICJwdXNoIiBvbiBhIGJhcmUgU2NvcGVDaGFpbk5vZGUsIGEgY2xpZW50
IHNob3VsZApAQCAtMTkxLDYgKzE5MSwxMyBAQCBuYW1lc3BhY2UgSlNDIHsKIAogICAgICAgICB2
b2lkIG1hcmsoKSBjb25zdDsKIAorICAgICAgICAvLyBDYXV0aW9uOiB0aGlzIHNob3VsZCBvbmx5
IGJlIHVzZWQgaWYgdGhlIGNvZGVibG9jayB0aGlzIGlzIGJlaW5nIHVzZWQKKyAgICAgICAgLy8g
d2l0aCBuZWVkcyBhIGZ1bGwgc2NvcGUgY2hhaW4sIG90aGVyd2lzZSB0aGlzIHJldHVybnMgdGhl
IGRlcHRoIG9mCisgICAgICAgIC8vIHRoZSBwcmVjZWVkaW5nIGNhbGwgZnJhbWUKKyAgICAgICAg
Ly8KKyAgICAgICAgLy8gUmV0dXJucyB0aGUgZGVwdGggb2YgdGhlIGN1cnJlbnQgY2FsbCBmcmFt
ZSdzIHNjb3BlIGNoYWluCisgICAgICAgIGludCBsb2NhbERlcHRoKCkgY29uc3Q7CisKICNpZm5k
ZWYgTkRFQlVHICAgICAgICAKICAgICAgICAgdm9pZCBwcmludCgpIGNvbnN0IHsgbV9ub2RlLT5w
cmludCgpOyB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAxZDliYjI2Li44YWMwOGU3IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTcgQEAKKzIwMDktMDEtMDIgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbanNmdW5mdXp6
XSB1bndpbmQgbG9naWMgZm9yIGV4Y2VwdGlvbnMgaW4gZXZhbCBmYWlscyB0byBhY2NvdW50IGZv
ciBkeW5hbWljIHNjb3BlIGV4dGVybmFsIHRvIHRoZSBldmFsCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzA3OAorCisgICAgICAgIFRlc3QgZXhjZXB0
aW9uIGhhbmRsaW5nIGluIHNpZGUgZXZhbCBlbmNhcHN1bGF0ZWQgYnkgZHluYW1pYyBzY29wZXMu
CisKKyAgICAgICAgKiBmYXN0L2pzL2V4Y2VwdGlvbi13aXRoLWhhbmRsZXItaW5zaWRlLWV2YWwt
d2l0aC1keW5hbWljLXNjb3BlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9q
cy9leGNlcHRpb24td2l0aC1oYW5kbGVyLWluc2lkZS1ldmFsLXdpdGgtZHluYW1pYy1zY29wZS5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2pzL3Jlc291cmNlcy9leGNlcHRpb24td2l0aC1o
YW5kbGVyLWluc2lkZS1ldmFsLXdpdGgtZHluYW1pYy1zY29wZS5qczogQWRkZWQuCisgICAgICAg
IChydW5UZXN0KToKKwogMjAwOS0wMS0wMiAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQHdlYmtp
dC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCg==
</data>
<flag name="review"
          id="12512"
          type_id="1"
          status="+"
          setter="barraclough"
    />
          </attachment>
      

    </bug>

</bugzilla>