<?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>218602</bug_id>
          
          <creation_ts>2020-11-04 23:30:37 -0800</creation_ts>
          <short_desc>WebGL2: Null pointer dereference in std::string implementation in gl::Shader::getTransformFeedbackVaryingMappedName</short_desc>
          <delta_ts>2020-12-04 01:51:41 -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>ANGLE</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Rob Buis">rbuis</assigned_to>
          <cc>achristensen</cc>
    
    <cc>ajuma</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cgarcia</cc>
    
    <cc>dino</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>graouts</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>product-security</cc>
    
    <cc>rbuis</cc>
    
    <cc>svillar</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1704745</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2020-11-04 23:30:37 -0800</bug_when>
    <thetext>e.g.

==66584==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000020 (pc 0x0002adca6ac3 bp 0x7ffee71791d0 sp 0x7ffee71791d0 T0)
==66584==The signal is caused by a READ memory access.
==66584==Hint: address points to the zero page.
==66584==WARNING: invalid path to external symbolizer!
==66584==WARNING: Failed to use and restart external symbolizer!
    #0 0x2adca6ac3 in std::__1::basic_string&lt;char, std::__1::char_traits&lt;char&gt;, std::__1::allocator&lt;char&gt; &gt;::__is_long() const+0x23 (WebCore.framework/Versions/A/WebCore:x86_64+0x238ac3)
    #1 0x2adca6a7d in std::__1::basic_string&lt;char, std::__1::char_traits&lt;char&gt;, std::__1::allocator&lt;char&gt; &gt;::__get_pointer() const+0xd (WebCore.framework/Versions/A/WebCore:x86_64+0x238a7d)
    #2 0x2adca6a38 in std::__1::basic_string&lt;char, std::__1::char_traits&lt;char&gt;, std::__1::allocator&lt;char&gt; &gt;::data() const+0x8 (WebCore.framework/Versions/A/WebCore:x86_64+0x238a38)
    #3 0x2add10827 in std::__1::basic_string&lt;char, std::__1::char_traits&lt;char&gt;, std::__1::allocator&lt;char&gt; &gt;::append(std::__1::basic_string&lt;char, std::__1::char_traits&lt;char&gt;, std::__1::allocator&lt;char&gt; &gt; const&amp;)+0x17 (WebCore.framework/Versions/A/WebCore:x86_64+0x2a2827)
    #4 0x2add107a3 in std::__1::basic_string&lt;char, std::__1::char_traits&lt;char&gt;, std::__1::allocator&lt;char&gt; &gt; std::__1::operator+&lt;char, std::__1::char_traits&lt;char&gt;, std::__1::allocator&lt;char&gt; &gt;(std::__1::basic_string&lt;char, std::__1::char_traits&lt;char&gt;, std::__1::allocator&lt;char&gt; &gt;&amp;&amp;, std::__1::basic_string&lt;char, std::__1::char_traits&lt;char&gt;, std::__1::allocator&lt;char&gt; &gt; const&amp;)+0x13 (WebCore.framework/Versions/A/WebCore:x86_64+0x2a27a3)
    #5 0x2b4027bcf in gl::Shader::getTransformFeedbackVaryingMappedName(std::__1::basic_string&lt;char, std::__1::char_traits&lt;char&gt;, std::__1::allocator&lt;char&gt; &gt; const&amp;)+0x43f (WebCore.framework/Versions/A/WebCore:x86_64+0x65b9bcf)
    #6 0x2b3f0784a in rx::ProgramGL::link(gl::Context const*, gl::ProgramLinkedResources const&amp;, gl::InfoLog&amp;)+0x3da (WebCore.framework/Versions/A/WebCore:x86_64+0x649984a)
    #7 0x2b3eacf8d in gl::Program::linkImpl(gl::Context const*)+0xd0d (WebCore.framework/Versions/A/WebCore:x86_64+0x643ef8d)
    #8 0x2b3eac221 in gl::Program::link(gl::Context const*)+0x11 (WebCore.framework/Versions/A/WebCore:x86_64+0x643e221)
    #9 0x2b3ac0e3c in gl::Context::linkProgram(gl::ShaderProgramID)+0x1c (WebCore.framework/Versions/A/WebCore:x86_64+0x6052e3c)
    #10 0x2b3c3307f in gl::LinkProgram(unsigned int)+0x15f (WebCore.framework/Versions/A/WebCore:x86_64+0x61c507f)
    #11 0x2adbff713 in WebCore::GraphicsContextGLOpenGL::linkProgram(unsigned int)+0x13 (WebCore.framework/Versions/A/WebCore:x86_64+0x191713)
    #12 0x2b196c67c in WebCore::WebGLRenderingContextBase::linkProgramWithoutInvalidatingAttribLocations(WebCore::WebGLProgram*)+0x21c (WebCore.framework/Versions/A/WebCore:x86_64+0x3efe67c)
    #13 0x2b196c43d in WebCore::WebGLRenderingContextBase::linkProgram(WebCore::WebGLProgram&amp;)+0xd (WebCore.framework/Versions/A/WebCore:x86_64+0x3efe43d)
    #14 0x2af62974d in WebCore::jsWebGL2RenderingContextPrototypeFunctionLinkProgramBody(JSC::JSGlobalObject*, JSC::CallFrame*, WebCore::JSWebGL2RenderingContext*)+0x22d (WebCore.framework/Versions/A/WebCore:x86_64+0x1bbb74d)
    #15 0x2af4ce61b in long long WebCore::IDLOperation&lt;WebCore::JSWebGL2RenderingContext&gt;::call&lt;&amp;(WebCore::jsWebGL2RenderingContextPrototypeFunctionLinkProgramBody(JSC::JSGlobalObject*, JSC::CallFrame*, WebCore::JSWebGL2RenderingContext*)), (WebCore::CastedThisErrorBehavior)0&gt;(JSC::JSGlobalObject&amp;, JSC::CallFrame&amp;, char const*)+0xfb (WebCore.framework/Versions/A/WebCore:x86_64+0x1a6061b)
    #16 0x2af4ce518 in WebCore::jsWebGL2RenderingContextPrototypeFunctionLinkProgram(JSC::JSGlobalObject*, JSC::CallFrame*)+0x8 (WebCore.framework/Versions/A/WebCore:x86_64+0x1a60518)
    #17 0x3b6a84a01177  (&lt;unknown module&gt;)
    #18 0x2cc47fc58 in llint_entry+0x1beba (JavaScriptCore.framework/Versions/A/JavaScriptCore:x86_64+0xbc5c58)
    #19 0x2cc47fc58 in llint_entry+0x1beba (JavaScriptCore.framework/Versions/A/JavaScriptCore:x86_64+0xbc5c58)
    #20 0x2cc47fc58 in llint_entry+0x1beba (JavaScriptCore.framework/Versions/A/JavaScriptCore:x86_64+0xbc5c58)
    #21 0x2cc463ba8 in vmEntryToJavaScript+0xd7 (JavaScriptCore.framework/Versions/A/JavaScriptCore:x86_64+0xba9ba8)
    #22 0x2cdbcc611 in JSC::Interpreter::executeCall(JSC::JSGlobalObject*, JSC::JSObject*, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;)+0x611 (JavaScriptCore.framework/Versions/A/JavaScriptCore:x86_64+0x2312611)
    #23 0x2ce26d264 in JSC::call(JSC::JSGlobalObject*, JSC::JSValue, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;)+0x64 (JavaScriptCore.framework/Versions/A/JavaScriptCore:x86_64+0x29b3264)
    #24 0x2ce26d35f in JSC::call(JSC::JSGlobalObject*, JSC::JSValue, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;, WTF::NakedPtr&lt;JSC::Exception&gt;&amp;)+0xdf (JavaScriptCore.framework/Versions/A/JavaScriptCore:x86_64+0x29b335f)
    #25 0x2ce26d71b in JSC::profiledCall(JSC::JSGlobalObject*, JSC::ProfilingReason, JSC::JSValue, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;, WTF::NakedPtr&lt;JSC::Exception&gt;&amp;)+0x10b (JavaScriptCore.framework/Versions/A/JavaScriptCore:x86_64+0x29b371b)
    #26 0x2b08f58e8 in WebCore::JSExecState::profiledCall(JSC::JSGlobalObject*, JSC::ProfilingReason, JSC::JSValue, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;, WTF::NakedPtr&lt;JSC::Exception&gt;&amp;)+0xe8 (WebCore.framework/Versions/A/WebCore:x86_64+0x2e878e8)
    #27 0x2b0921f1b in WebCore::JSEventListener::handleEvent(WebCore::ScriptExecutionContext&amp;, WebCore::Event&amp;)+0xa7b (WebCore.framework/Versions/A/WebCore:x86_64+0x2eb3f1b)
    #28 0x2b119a8f2 in WebCore::EventTarget::innerInvokeEventListeners(WebCore::Event&amp;, WTF::Vector&lt;WTF::RefPtr&lt;WebCore::RegisteredEventListener, WTF::DumbPtrTraits&lt;WebCore::RegisteredEventListener&gt;, WTF::DefaultRefDerefTraits&lt;WebCore::RegisteredEventListener&gt; &gt;, 1ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc&gt;, WebCore::EventTarget::EventInvokePhase)+0x522 (WebCore.framework/Versions/A/WebCore:x86_64+0x372c8f2)
    #29 0x2b1195672 in WebCore::EventTarget::fireEventListeners(WebCore::Event&amp;, WebCore::EventTarget::EventInvokePhase)+0x1b2 (WebCore.framework/Versions/A/WebCore:x86_64+0x3727672)
    #30 0x2b2135868 in WebCore::DOMWindow::dispatchEvent(WebCore::Event&amp;, WebCore::EventTarget*)+0x2d8 (WebCore.framework/Versions/A/WebCore:x86_64+0x46c7868)
    #31 0x2b2148c57 in WebCore::DOMWindow::dispatchLoadEvent()+0x227 (WebCore.framework/Versions/A/WebCore:x86_64+0x46dac57)
    #32 0x2b104f655 in WebCore::Document::dispatchWindowLoadEvent()+0x55 (WebCore.framework/Versions/A/WebCore:x86_64+0x35e1655)
    #33 0x2b104f073 in WebCore::Document::implicitClose()+0x2f3 (WebCore.framework/Versions/A/WebCore:x86_64+0x35e1073)
    #34 0x2b1f47ba8 in WebCore::FrameLoader::checkCallImplicitClose()+0xd8 (WebCore.framework/Versions/A/WebCore:x86_64+0x44d9ba8)
    #35 0x2b1f47052 in WebCore::FrameLoader::checkCompleted()+0x2b2 (WebCore.framework/Versions/A/WebCore:x86_64+0x44d9052)
    #36 0x2b1f434e4 in WebCore::FrameLoader::finishedParsing()+0x1c4 (WebCore.framework/Versions/A/WebCore:x86_64+0x44d54e4)
    #37 0x2b106e803 in WebCore::Document::finishedParsing()+0x263 (WebCore.framework/Versions/A/WebCore:x86_64+0x3600803)
    #38 0x2b19b17e4 in WebCore::HTMLConstructionSite::finishedParsing()+0x24 (WebCore.framework/Versions/A/WebCore:x86_64+0x3f437e4)
    #39 0x2b1a15b0d in WebCore::HTMLTreeBuilder::finished()+0x1d (WebCore.framework/Versions/A/WebCore:x86_64+0x3fa7b0d)
    #40 0x2b19ba617 in WebCore::HTMLDocumentParser::end()+0x17 (WebCore.framework/Versions/A/WebCore:x86_64+0x3f4c617)
    #41 0x2b19b7df8 in WebCore::HTMLDocumentParser::attemptToRunDeferredScriptsAndEnd()+0x38 (WebCore.framework/Versions/A/WebCore:x86_64+0x3f49df8)
    #42 0x2b19b7cca in WebCore::HTMLDocumentParser::prepareToStopParsing()+0x10a (WebCore.framework/Versions/A/WebCore:x86_64+0x3f49cca)
    #43 0x2b19ba65f in WebCore::HTMLDocumentParser::attemptToEnd()+0x3f (WebCore.framework/Versions/A/WebCore:x86_64+0x3f4c65f)
    #44 0x2b19ba739 in WebCore::HTMLDocumentParser::finish()+0x29 (WebCore.framework/Versions/A/WebCore:x86_64+0x3f4c739)
    #45 0x2b1ecfa68 in WebCore::DocumentWriter::end()+0x1a8 (WebCore.framework/Versions/A/WebCore:x86_64+0x4461a68)
    #46 0x2b1ece52c in WebCore::DocumentLoader::finishedLoading()+0x2dc (WebCore.framework/Versions/A/WebCore:x86_64+0x446052c)
    #47 0x2b1ecde93 in WebCore::DocumentLoader::notifyFinished(WebCore::CachedResource&amp;, WebCore::NetworkLoadMetrics const&amp;)+0x2d3 (WebCore.framework/Versions/A/WebCore:x86_64+0x445fe93)
    #48 0x2b20951ff in WebCore::CachedResource::checkNotify(WebCore::NetworkLoadMetrics const&amp;)+0x17f (WebCore.framework/Versions/A/WebCore:x86_64+0x46271ff)
    #49 0x2b208f82e in WebCore::CachedResource::finishLoading(WebCore::SharedBuffer*, WebCore::NetworkLoadMetrics const&amp;)+0x4e (WebCore.framework/Versions/A/WebCore:x86_64+0x462182e)
    #50 0x2b20910e8 in WebCore::CachedRawResource::finishLoading(WebCore::SharedBuffer*, WebCore::NetworkLoadMetrics const&amp;)+0x258 (WebCore.framework/Versions/A/WebCore:x86_64+0x46230e8)
    #51 0x2b2004d82 in WebCore::SubresourceLoader::didFinishLoading(WebCore::NetworkLoadMetrics const&amp;)+0x732 (WebCore.framework/Versions/A/WebCore:x86_64+0x4596d82)
    #52 0x2a1aff3b6 in WebKit::WebResourceLoader::didFinishResourceLoad(WebCore::NetworkLoadMetrics const&amp;)+0x286 (WebKit.framework/Versions/A/WebKit:x86_64+0x1afd3b6)
    #53 0x2a221e251 in void IPC::callMemberFunctionImpl&lt;WebKit::WebResourceLoader, void (WebKit::WebResourceLoader::*)(WebCore::NetworkLoadMetrics const&amp;), std::__1::tuple&lt;WebCore::NetworkLoadMetrics&gt;, 0ul&gt;(WebKit::WebResourceLoader*, void (WebKit::WebResourceLoader::*)(WebCore::NetworkLoadMetrics const&amp;), std::__1::tuple&lt;WebCore::NetworkLoadMetrics&gt;&amp;&amp;, std::__1::integer_sequence&lt;unsigned long, 0ul&gt;)+0x61 (WebKit.framework/Versions/A/WebKit:x86_64+0x221c251)
    #54 0x2a221e1d8 in void IPC::callMemberFunction&lt;WebKit::WebResourceLoader, void (WebKit::WebResourceLoader::*)(WebCore::NetworkLoadMetrics const&amp;), std::__1::tuple&lt;WebCore::NetworkLoadMetrics&gt;, std::__1::integer_sequence&lt;unsigned long, 0ul&gt; &gt;(std::__1::tuple&lt;WebCore::NetworkLoadMetrics&gt;&amp;&amp;, WebKit::WebResourceLoader*, void (WebKit::WebResourceLoader::*)(WebCore::NetworkLoadMetrics const&amp;))+0x28 (WebKit.framework/Versions/A/WebKit:x86_64+0x221c1d8)
    #55 0x2a221bc46 in void IPC::handleMessage&lt;Messages::WebResourceLoader::DidFinishResourceLoad, WebKit::WebResourceLoader, void (WebKit::WebResourceLoader::*)(WebCore::NetworkLoadMetrics const&amp;)&gt;(IPC::Decoder&amp;, WebKit::WebResourceLoader*, void (WebKit::WebResourceLoader::*)(WebCore::NetworkLoadMetrics const&amp;))+0x146 (WebKit.framework/Versions/A/WebKit:x86_64+0x2219c46)
    #56 0x2a221b253 in WebKit::WebResourceLoader::didReceiveWebResourceLoaderMessage(IPC::Connection&amp;, IPC::Decoder&amp;)+0x1a3 (WebKit.framework/Versions/A/WebKit:x86_64+0x2219253)
    #57 0x2a1ac01aa in WebKit::NetworkProcessConnection::didReceiveMessage(IPC::Connection&amp;, IPC::Decoder&amp;)+0xfa (WebKit.framework/Versions/A/WebKit:x86_64+0x1abe1aa)
    #58 0x2a009f95e in IPC::Connection::dispatchMessage(IPC::Decoder&amp;)+0x1ce (WebKit.framework/Versions/A/WebKit:x86_64+0x9d95e)
    #59 0x2a00a05f7 in IPC::Connection::dispatchMessage(std::__1::unique_ptr&lt;IPC::Decoder, std::__1::default_delete&lt;IPC::Decoder&gt; &gt;)+0x167 (WebKit.framework/Versions/A/WebKit:x86_64+0x9e5f7)
    #60 0x2a00a1116 in IPC::Connection::dispatchOneIncomingMessage()+0x196 (WebKit.framework/Versions/A/WebKit:x86_64+0x9f116)
    #61 0x2a00be1d5 in IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr&lt;IPC::Decoder, std::__1::default_delete&lt;IPC::Decoder&gt; &gt;)::$_7::operator()()+0x35 (WebKit.framework/Versions/A/WebKit:x86_64+0xbc1d5)
    #62 0x2a00be13c in WTF::Detail::CallableWrapper&lt;IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr&lt;IPC::Decoder, std::__1::default_delete&lt;IPC::Decoder&gt; &gt;)::$_7, void&gt;::call()+0xc (WebKit.framework/Versions/A/WebKit:x86_64+0xbc13c)
    #63 0x2cb8f247e in WTF::Function&lt;void ()&gt;::operator()() const+0x3e (JavaScriptCore.framework/Versions/A/JavaScriptCore:x86_64+0x3847e)
    #64 0x2cb989f38 in WTF::RunLoop::performWork()+0x228 (JavaScriptCore.framework/Versions/A/JavaScriptCore:x86_64+0xcff38)
    #65 0x2cb98d175 in WTF::RunLoop::performWork(void*)+0xb5 (JavaScriptCore.framework/Versions/A/JavaScriptCore:x86_64+0xd3175)
    #66 0x7fff205089fb in __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__+0x10 (/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation:x86_64h+0x819fb)
    #67 0x7fff20508963 in __CFRunLoopDoSource0+0xb3 (/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation:x86_64h+0x81963)
    #68 0x7fff205086de in __CFRunLoopDoSources0+0xf7 (/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation:x86_64h+0x816de)
    #69 0x7fff20507110 in __CFRunLoopRun+0x379 (/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation:x86_64h+0x80110)
    #70 0x7fff205066bd in CFRunLoopRunSpecific+0x232 (/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation:x86_64h+0x7f6bd)
    #71 0x7fff21290fa0 in -[NSRunLoop(NSRunLoop) runMode:beforeDate:]+0xd3 (/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation:x86_64+0x5ffa0)
    #72 0x7fff2131f383 in -[NSRunLoop(NSRunLoop) run]+0x4b (/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation:x86_64+0xee383)
    #73 0x7fff2015f3dc in _xpc_objc_main+0x338 (/usr/lib/system/libxpc.dylib:x86_64+0x153dc)
    #74 0x7fff2015ee64 in xpc_main+0x1b4 (/usr/lib/system/libxpc.dylib:x86_64+0x14e64)
    #75 0x2a0a956cf in WebKit::XPCServiceMain(int, char const**)+0x59f (WebKit.framework/Versions/A/WebKit:x86_64+0xa936cf)
    #76 0x2a22d57a8 in WKXPCServiceMain+0x8 (WebKit.framework/Versions/A/WebKit:x86_64+0x22d37a8)
    #77 0x108a84e28 in main+0x8 (com.apple.WebKit.WebContent.xpc/Contents/MacOS/com.apple.WebKit.WebContent.Development:x86_64+0x100003e28)
    #78 0x7fff2042b590 in start+0x0 (/usr/lib/system/libdyld.dylib:x86_64+0x16590)

&lt;rdar://problem/69610382&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1704746</commentid>
    <comment_count>1</comment_count>
      <attachid>413258</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2020-11-04 23:31:29 -0800</bug_when>
    <thetext>Created attachment 413258
Test case</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1708270</commentid>
    <comment_count>2</comment_count>
      <attachid>414349</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-11-17 09:52:11 -0800</bug_when>
    <thetext>Created attachment 414349
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1708272</commentid>
    <comment_count>3</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-11-17 09:57:00 -0800</bug_when>
    <thetext>For the test case the varying &quot;matrix&quot; is queried for field &quot;vector&quot; (the only varyings here that I can see are &quot;vector&quot; and &quot;matrix&quot;). &quot;matrix&quot; is deemed a struct but the field vector is not found on it, resulting in a null pointer. Then we either hit the assert or the actual pointer dereference.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1708328</commentid>
    <comment_count>4</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-11-17 12:11:17 -0800</bug_when>
    <thetext>I wonder if this would need to be fixed in ANGLE repo first?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1708484</commentid>
    <comment_count>5</comment_count>
      <attachid>414349</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2020-11-17 20:38:55 -0800</bug_when>
    <thetext>Comment on attachment 414349
Patch

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

&gt; Source/ThirdParty/ANGLE/src/libANGLE/Shader.cpp:660
&gt; +                if (!field)
&gt; +                    continue;
&gt; +                ASSERT(!field-&gt;isStruct() &amp;&amp; !field-&gt;isArray());

Is this just a nullptr crash or is there any security implication here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1708578</commentid>
    <comment_count>6</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-11-18 06:26:16 -0800</bug_when>
    <thetext>(In reply to Ryosuke Niwa from comment #5)
&gt; Comment on attachment 414349 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=414349&amp;action=review
&gt; 
&gt; &gt; Source/ThirdParty/ANGLE/src/libANGLE/Shader.cpp:660
&gt; &gt; +                if (!field)
&gt; &gt; +                    continue;
&gt; &gt; +                ASSERT(!field-&gt;isStruct() &amp;&amp; !field-&gt;isArray());
&gt; 
&gt; Is this just a nullptr crash or is there any security implication here?

I debugged this, yes it is a nullptr crash and thus hits the first condition in the ASSERT.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1708928</commentid>
    <comment_count>7</comment_count>
      <attachid>414349</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2020-11-18 18:07:24 -0800</bug_when>
    <thetext>Comment on attachment 414349
Patch

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

&gt;&gt;&gt; Source/ThirdParty/ANGLE/src/libANGLE/Shader.cpp:660
&gt;&gt;&gt; +                ASSERT(!field-&gt;isStruct() &amp;&amp; !field-&gt;isArray());
&gt;&gt; 
&gt;&gt; Is this just a nullptr crash or is there any security implication here?
&gt; 
&gt; I debugged this, yes it is a nullptr crash and thus hits the first condition in the ASSERT.

In release builds? Sometimes nullptr crash in a debug build results in a security bug in release builds.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1711343</commentid>
    <comment_count>8</comment_count>
      <attachid>415225</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-12-02 08:24:12 -0800</bug_when>
    <thetext>Created attachment 415225
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1711364</commentid>
    <comment_count>9</comment_count>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-12-02 09:49:29 -0800</bug_when>
    <thetext>(In reply to Ryosuke Niwa from comment #7)
&gt; Comment on attachment 414349 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=414349&amp;action=review
&gt; 
&gt; &gt;&gt;&gt; Source/ThirdParty/ANGLE/src/libANGLE/Shader.cpp:660
&gt; &gt;&gt;&gt; +                ASSERT(!field-&gt;isStruct() &amp;&amp; !field-&gt;isArray());
&gt; &gt;&gt; 
&gt; &gt;&gt; Is this just a nullptr crash or is there any security implication here?
&gt; &gt; 
&gt; &gt; I debugged this, yes it is a nullptr crash and thus hits the first condition in the ASSERT.
&gt; 
&gt; In release builds? Sometimes nullptr crash in a debug build results in a
&gt; security bug in release builds.

Yes it is a crash in release and debug builds, independent of the ASSERT the next line will cause a crash for sure:
return varying.mappedName + &quot;.&quot; + field-&gt;mappedName;

I made a patch that fixes the crash, I wonder if it would need to go to ANGLE first?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1711807</commentid>
    <comment_count>10</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2020-12-03 14:03:08 -0800</bug_when>
    <thetext>The ANGLE folks will see this and pull it in to their upstream.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1711821</commentid>
    <comment_count>11</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2020-12-03 14:27:01 -0800</bug_when>
    <thetext>There is no security implication here, right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1711822</commentid>
    <comment_count>12</comment_count>
      <attachid>415225</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2020-12-03 14:27:32 -0800</bug_when>
    <thetext>Comment on attachment 415225
Patch

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

&gt; Source/ThirdParty/ANGLE/ChangeLog:3
&gt; +        Skip varying if field is not found

Can we match the bug title here?

&gt; LayoutTests/ChangeLog:3
&gt; +        Skip varying if field is not found

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1711823</commentid>
    <comment_count>13</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2020-12-03 14:28:14 -0800</bug_when>
    <thetext>Definitely no UAF here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1711964</commentid>
    <comment_count>14</comment_count>
      <attachid>415392</attachid>
    <who name="Rob Buis">rbuis</who>
    <bug_when>2020-12-04 00:31:27 -0800</bug_when>
    <thetext>Created attachment 415392
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1711965</commentid>
    <comment_count>15</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2020-12-04 00:32:18 -0800</bug_when>
    <thetext>Note that there are important steps to take when updating ANGLE. See https://trac.webkit.org/wiki/UpdatingANGLE</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1711969</commentid>
    <comment_count>16</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-12-04 01:44:09 -0800</bug_when>
    <thetext>Committed r270426: &lt;https://trac.webkit.org/changeset/270426&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 415392.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>413258</attachid>
            <date>2020-11-04 23:31:29 -0800</date>
            <delta_ts>2020-11-04 23:31:29 -0800</delta_ts>
            <desc>Test case</desc>
            <filename>bug218602.html</filename>
            <type>text/html</type>
            <size>2787</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">77u/PCFET0NUWVBFIGh0bWw+Cgo8aGVhZD4KICAgIDxtZXRhIGNoYXJzZXQ9IlVURi04Ij4KICAg
IDx0aXRsZT5GdXp6ZXI8L3RpdGxlPgoKICAgIDxzY3JpcHQgaWQ9JzJkLXZlcnRleC1zaGFkZXIn
IHR5cGU9J3gtc2hhZGVyL3gtdmVydGV4Jz4jdmVyc2lvbiAzMDAgZXMKCQlwcmVjaXNpb24gbWVk
aXVtcCBmbG9hdDsKCQlpbiB2ZWM0IGFfcG9zaXRpb247CgkJc3RydWN0IFMKCQl7CgkJCW1hdDN4
NCBtOwoJCX07CgkJb3V0IFMgbWF0cml4OwoJCW91dCB2ZWMzIHZlY3RvcjsKCgkJdm9pZCBtYWlu
KCkKCQl7CgkJCW1hdHJpeC5tID0gbWF0M3g0KDEuMCk7CgkJCXZlY3RvciA9IHZlYzMoMS4wKTsK
CQkJZ2xfUG9zaXRpb24gPSBhX3Bvc2l0aW9uOwoJCX0KICAgIDwvc2NyaXB0PgoKCiAgICA8c2Ny
aXB0IGlkPScyZC1mcmFnbWVudC1zaGFkZXInIHR5cGU9J3gtc2hhZGVyL3gtZnJhZ21lbnQnPiN2
ZXJzaW9uIDMwMCBlcwoJCXByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OwoJCXVuaWZvcm0gdmVjMyB1
Q29sOwoJCW91dCB2ZWM0IGNvbDsKCQl2b2lkIG1haW4oKXsKCQkJY29sID0gdmVjNCh1Q29sLDEu
KTsKCQl9Cgk8L3NjcmlwdD4KCQogICAgPHNjcmlwdD4KICAgICAgICBmdW5jdGlvbiBjcmVhdGVT
aGFkZXIoZ2wsIHNvdXJjZUNvZGUsIHR5cGUsIHR5cGVfc3RyKSB7CiAgICAgICAgICAgIHZhciBz
aGFkZXIgPSBnbC5jcmVhdGVTaGFkZXIodHlwZSk7CiAgICAgICAgICAgIGdsLnNoYWRlclNvdXJj
ZShzaGFkZXIsIHNvdXJjZUNvZGUpOwogICAgICAgICAgICBnbC5jb21waWxlU2hhZGVyKHNoYWRl
cik7CgogICAgICAgICAgICBpZiAoIWdsLmdldFNoYWRlclBhcmFtZXRlcihzaGFkZXIsIGdsLkNP
TVBJTEVfU1RBVFVTKSkgewoJCQkJdmFyIGluZm8gPSBnbC5nZXRTaGFkZXJJbmZvTG9nKHNoYWRl
cik7CgkJCQljb25zb2xlLmxvZyhpbmZvKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgcmV0
dXJuIHNoYWRlcjsKICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIGNyZWF0ZVByb2dyYW0oZ2ws
IHZlcnRleFNoYWRlciwgZnJhZ21lbnRTaGFkZXIpIHsKICAgICAgICAgICAgdmFyIHByb2dyYW0g
PSBnbC5jcmVhdGVQcm9ncmFtKCk7CiAgICAgICAgICAgIGdsLmF0dGFjaFNoYWRlcihwcm9ncmFt
LCB2ZXJ0ZXhTaGFkZXIpOwogICAgICAgICAgICBnbC5hdHRhY2hTaGFkZXIocHJvZ3JhbSwgZnJh
Z21lbnRTaGFkZXIpOwogICAgICAgICAgICB0cmFuc2Zvcm1fb3V0cyA9IFsidmVjdG9yIl07CgkJ
CXRyYW5zZm9ybV9mZWVkID0gZ2wuY3JlYXRlVHJhbnNmb3JtRmVlZGJhY2soKTsKCQkJZ2wuYmlu
ZFRyYW5zZm9ybUZlZWRiYWNrKGdsLlRSQU5TRk9STV9GRUVEQkFDSyx0cmFuc2Zvcm1fZmVlZCk7
CgkJCWdsLnRyYW5zZm9ybUZlZWRiYWNrVmFyeWluZ3MocHJvZ3JhbSx0cmFuc2Zvcm1fb3V0cyxn
bC5JTlRFUkxFQVZFRF9BVFRSSUJTKTsKICAgICAgICAgICAgZ2wubGlua1Byb2dyYW0ocHJvZ3Jh
bSk7CgkJCWFjdGl2ZV9pbmZvID0gZ2wuZ2V0VHJhbnNmb3JtRmVlZGJhY2tWYXJ5aW5nKHByb2dy
YW0sMCk7CiAgICAgICAgICAgIGdsLnVzZVByb2dyYW0ocHJvZ3JhbSk7CgogICAgICAgICAgICBp
ZiAoIWdsLmdldFByb2dyYW1QYXJhbWV0ZXIocHJvZ3JhbSwgZ2wuTElOS19TVEFUVVMpKSB7CiAg
ICAgICAgICAgICAgICB2YXIgaW5mbyA9IGdsLmdldFByb2dyYW1JbmZvTG9nKHByb2dyYW0pOwog
ICAgICAgICAgICAgICAgY29uc29sZS5sb2coaW5mbyk7CiAgICAgICAgICAgIH0KICAgICAgICAg
ICAgcmV0dXJuIHByb2dyYW0KICAgICAgICB9CgogICAgICAgIGZ1bmN0aW9uIG1haW4oKSB7CiAg
ICAgICAgICAgIHZhciBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKTsK
ICAgICAgICAgICAgY2FudmFzLndpZHRoID0gIjY0MCI7CiAgICAgICAgICAgIGNhbnZhcy5oZWln
aHQgPSAiNDgwIgogICAgICAgICAgICBjYW52YXMuc3R5bGUuYm9yZGVyID0gInRoaWNrIHNvbGlk
ICMwMEZGRkYiOwogICAgICAgICAgICB2YXIgd2ViZ2xfMSA9IGNhbnZhcy5nZXRDb250ZXh0KCJ3
ZWJnbDIiKTsKICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmQoY2FudmFzKQoKICAgICAg
ICAgICAgdmFyIHNjaGFkZXJfc2NyaXB0XzMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnMmQt
dmVydGV4LXNoYWRlcicpOwogICAgICAgICAgICB2YXIgc2hhZGVyX3NvdXJjZV8zID0gc2NoYWRl
cl9zY3JpcHRfMy50ZXh0OwogICAgICAgICAgICB2YXIgc2NoYWRlcl9zY3JpcHRfNCA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCcyZC1mcmFnbWVudC1zaGFkZXInKTsKICAgICAgICAgICAgdmFy
IHNoYWRlcl9zb3VyY2VfNCA9IHNjaGFkZXJfc2NyaXB0XzQudGV4dDsKCiAgICAgICAgICAgIHZh
ciB2ZXJ0ZXhTaGFkZXIgPSBjcmVhdGVTaGFkZXIod2ViZ2xfMSwgc2hhZGVyX3NvdXJjZV8zLCB3
ZWJnbF8xLlZFUlRFWF9TSEFERVIsIlZFUlRFWF9TSEFERVIiKQogICAgICAgICAgICB2YXIgZnJh
Z21lbnRTaGFkZXIgPSBjcmVhdGVTaGFkZXIod2ViZ2xfMSwgc2hhZGVyX3NvdXJjZV80LCB3ZWJn
bF8xLkZSQUdNRU5UX1NIQURFUiwiRlJBR01FTlRfU0hBREVSIikKICAgICAgICAgICAgdmFyIHBy
b2dyYW0gPSBjcmVhdGVQcm9ncmFtKHdlYmdsXzEsIHZlcnRleFNoYWRlciwgZnJhZ21lbnRTaGFk
ZXIpCgogICAgICAgIH0KICAgIDwvc2NyaXB0Pgo8L2hlYWQ+Cgo8Ym9keSBvbmxvYWQ9Im1haW4o
KSI+CiAgICA8Y2FudmFzIGlkPSJjbnYiPjwvY2FudmFzPgo8L2JvZHk+Cgo8L2h0bWw+
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>414349</attachid>
            <date>2020-11-17 09:52:11 -0800</date>
            <delta_ts>2020-12-02 08:24:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218602-20201117185209.patch</filename>
            <type>text/plain</type>
            <size>1589</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY5OTA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggZDViYTQwNWEyZWZlNjRiYjFlYmYxODg3YjM5ZmYzZTRiYTJjYjJhMy4uYzI3ZjVhYTNhMDVk
Mzc4MWVhYTVmZWE5YzU3YzE3ZTJmNWVkNWVhNSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE1IEBACisyMDIwLTExLTE3ICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5j
b20+CisKKyAgICAgICAgU2tpcCB2YXJ5aW5nIGlmIGZpZWxkIGlzIG5vdCBmb3VuZAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4NjAyCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU3BlY3VsYXRpdmUgZml4
LgorCisgICAgICAgICogc3JjL2xpYkFOR0xFL1NoYWRlci5jcHA6CisgICAgICAgIChnbDo6U2hh
ZGVyOjpnZXRUcmFuc2Zvcm1GZWVkYmFja1ZhcnlpbmdNYXBwZWROYW1lKToKKwogMjAyMC0xMS0w
NCAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFdlYktpdCBz
aG91bGQgcmVtb3ZlIHVudXNlZCBkZWJ1ZyB2YXJpYW50IHN1cHBvcnQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9saWJBTkdMRS9TaGFkZXIuY3BwIGIvU291cmNlL1Ro
aXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL1NoYWRlci5jcHAKaW5kZXggYzA2NzRkMGU4NTBh
N2I5YmY1Y2JkNzcxZDFkZTk0MDdhYWQ4ODUyYi4uMjViZTY4MmY0MjM0MWQzMjkxNjI3Y2E2MDE1
ZDc0NTNiZjhkMDY0YiAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xp
YkFOR0xFL1NoYWRlci5jcHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFO
R0xFL1NoYWRlci5jcHAKQEAgLTY1NSw3ICs2NTUsOSBAQCBzdGQ6OnN0cmluZyBTaGFkZXI6Omdl
dFRyYW5zZm9ybUZlZWRiYWNrVmFyeWluZ01hcHBlZE5hbWUoY29uc3Qgc3RkOjpzdHJpbmcgJnRm
VgogICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIEdMdWludCBmaWVsZEluZGV4ID0gMDsK
ICAgICAgICAgICAgICAgICBjb25zdCBhdXRvICpmaWVsZCA9IHZhcnlpbmcuZmluZEZpZWxkKHRm
VmFyeWluZ05hbWUsICZmaWVsZEluZGV4KTsKLSAgICAgICAgICAgICAgICBBU1NFUlQoZmllbGQg
IT0gbnVsbHB0ciAmJiAhZmllbGQtPmlzU3RydWN0KCkgJiYgIWZpZWxkLT5pc0FycmF5KCkpOwor
ICAgICAgICAgICAgICAgIGlmICghZmllbGQpCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVl
OworICAgICAgICAgICAgICAgIEFTU0VSVCghZmllbGQtPmlzU3RydWN0KCkgJiYgIWZpZWxkLT5p
c0FycmF5KCkpOwogICAgICAgICAgICAgICAgIHJldHVybiB2YXJ5aW5nLm1hcHBlZE5hbWUgKyAi
LiIgKyBmaWVsZC0+bWFwcGVkTmFtZTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>415225</attachid>
            <date>2020-12-02 08:24:12 -0800</date>
            <delta_ts>2020-12-04 00:31:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218602-20201202172411.patch</filename>
            <type>text/plain</type>
            <size>6211</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwMzQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggYWZlODliNmQ1ZTQwOWE1NDAwNjJlOTFhYmM5NGVmZDZjNjc0ZjU3Yy4uMDQ3NGRmNWI3YzNl
OTMyNTllY2ZkMDA3OTY1MzlkMWEwZDBkZGE1YSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE2IEBACisyMDIwLTEyLTAyICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5j
b20+CisKKyAgICAgICAgU2tpcCB2YXJ5aW5nIGlmIGZpZWxkIGlzIG5vdCBmb3VuZAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4NjAyCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU2tpcCB2YXJ5aW5nIGlm
IGZpZWxkIGlzIG5vdCBmb3VuZCBzaW5jZSBpbiB0aGlzCisgICAgICAgIGNhc2Ugd2UgaGF2ZSBu
byBtYXRjaCBmb3IgdGhlIHZhcnlpbmcgcGFyYW1ldGVyIG5hbWUuCisKKyAgICAgICAgKiBzcmMv
bGliQU5HTEUvU2hhZGVyLmNwcDoKKyAgICAgICAgKGdsOjpTaGFkZXI6OmdldFRyYW5zZm9ybUZl
ZWRiYWNrVmFyeWluZ01hcHBlZE5hbWUpOgorCiAyMDIwLTExLTMwICBSeWFuIEhhZGRhZCAgPHJ5
YW5oYWRkYWRAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJldmVydGluZyByMjcw
MTI5LCByMjcwMTk0LCBhbmQgcjI3MDI1OC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5
L0FOR0xFL3NyYy9saWJBTkdMRS9TaGFkZXIuY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUv
c3JjL2xpYkFOR0xFL1NoYWRlci5jcHAKaW5kZXggYzA2NzRkMGU4NTBhN2I5YmY1Y2JkNzcxZDFk
ZTk0MDdhYWQ4ODUyYi4uMjViZTY4MmY0MjM0MWQzMjkxNjI3Y2E2MDE1ZDc0NTNiZjhkMDY0YiAx
MDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL1NoYWRlci5j
cHAKKysrIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL1NoYWRlci5jcHAK
QEAgLTY1NSw3ICs2NTUsOSBAQCBzdGQ6OnN0cmluZyBTaGFkZXI6OmdldFRyYW5zZm9ybUZlZWRi
YWNrVmFyeWluZ01hcHBlZE5hbWUoY29uc3Qgc3RkOjpzdHJpbmcgJnRmVgogICAgICAgICAgICAg
ewogICAgICAgICAgICAgICAgIEdMdWludCBmaWVsZEluZGV4ID0gMDsKICAgICAgICAgICAgICAg
ICBjb25zdCBhdXRvICpmaWVsZCA9IHZhcnlpbmcuZmluZEZpZWxkKHRmVmFyeWluZ05hbWUsICZm
aWVsZEluZGV4KTsKLSAgICAgICAgICAgICAgICBBU1NFUlQoZmllbGQgIT0gbnVsbHB0ciAmJiAh
ZmllbGQtPmlzU3RydWN0KCkgJiYgIWZpZWxkLT5pc0FycmF5KCkpOworICAgICAgICAgICAgICAg
IGlmICghZmllbGQpCisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAg
ICAgIEFTU0VSVCghZmllbGQtPmlzU3RydWN0KCkgJiYgIWZpZWxkLT5pc0FycmF5KCkpOwogICAg
ICAgICAgICAgICAgIHJldHVybiB2YXJ5aW5nLm1hcHBlZE5hbWUgKyAiLiIgKyBmaWVsZC0+bWFw
cGVkTmFtZTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGNkNzE0MmVjZjg0ZThk
NmYyOTllNWFjYmFkMjg4NGYwYTY4NzI5OTEuLmQ4ZDRjZjk3ZGJlNGIxYTYzY2Q4MDFlOThhMmJm
NWU0MzY2MTNjZjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAyMC0xMi0wMiAgUm9iIEJ1aXMg
IDxyYnVpc0BpZ2FsaWEuY29tPgorCisgICAgICAgIFNraXAgdmFyeWluZyBpZiBmaWVsZCBpcyBu
b3QgZm91bmQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIxODYwMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZCB0ZXN0IHRoYXQgdHJpZ2dlcnMgdGhlIFNoYWRlcjo6Z2V0VHJhbnNmb3JtRmVlZGJhY2tW
YXJ5aW5nTWFwcGVkTmFtZQorICAgICAgICBmaWVsZCBjb2RlLgorCisgICAgICAgICogZmFzdC9j
YW52YXMvd2ViZ2wvd2ViZ2wtdHJhbnNmb3JtZWQtdmFyeWluZy1uYW1lLWNyYXNoLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9jYW52YXMvd2ViZ2wvd2ViZ2wtdHJhbnNmb3Jt
ZWQtdmFyeWluZy1uYW1lLWNyYXNoLmh0bWw6IEFkZGVkLgorCiAyMDIwLTEyLTAxICBMYXVybyBN
b3VyYSAgPGxtb3VyYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHTElCXSBBZGQgc29tZSBXUEUt
c3BlY2lmaWMgYmFzZWxpbmVzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93
ZWJnbC93ZWJnbC10cmFuc2Zvcm1lZC12YXJ5aW5nLW5hbWUtY3Jhc2gtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvd2ViZ2wtdHJhbnNmb3JtZWQtdmFyeWluZy1u
YW1lLWNyYXNoLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNjZiZGQzMGQ3NjY5MGRlNWNhMDI4
NDU0MTJlNjU3NWRhNjc0NzQ1Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9j
YW52YXMvd2ViZ2wvd2ViZ2wtdHJhbnNmb3JtZWQtdmFyeWluZy1uYW1lLWNyYXNoLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDIgQEAKK1BBU1MuIFlvdSBkaWRuJ3QgY3Jhc2guCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3dlYmdsLXRyYW5zZm9ybWVkLXZhcnlp
bmctbmFtZS1jcmFzaC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvd2ViZ2wt
dHJhbnNmb3JtZWQtdmFyeWluZy1uYW1lLWNyYXNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWNmYmMzNjFh
YzhhODZkOTJhMTc4MTk5YWIzNzg1Yzk0YjgzNDYzZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3dlYmdsLXRyYW5zZm9ybWVkLXZhcnlpbmctbmFtZS1j
cmFzaC5odG1sCkBAIC0wLDAgKzEsOTIgQEAKK++7vzwhRE9DVFlQRSBodG1sPgorPGhlYWQ+Cis8
bWV0YSBjaGFyc2V0PSJVVEYtOCI+Cis8c2NyaXB0IGlkPScyZC12ZXJ0ZXgtc2hhZGVyJyB0eXBl
PSd4LXNoYWRlci94LXZlcnRleCc+I3ZlcnNpb24gMzAwIGVzCisgICAgcHJlY2lzaW9uIG1lZGl1
bXAgZmxvYXQ7CisgICAgaW4gdmVjNCBhX3Bvc2l0aW9uOworICAgIHN0cnVjdCBTCisgICAgewor
ICAgICAgICBtYXQzeDQgbTsKKyAgICB9OworICAgIG91dCBTIG1hdHJpeDsKKyAgICBvdXQgdmVj
MyB2ZWN0b3I7CisKKyAgICB2b2lkIG1haW4oKQorICAgIHsKKyAgICAgICAgbWF0cml4Lm0gPSBt
YXQzeDQoMS4wKTsKKyAgICAgICAgdmVjdG9yID0gdmVjMygxLjApOworICAgICAgICBnbF9Qb3Np
dGlvbiA9IGFfcG9zaXRpb247CisgICAgfQorPC9zY3JpcHQ+Cis8c2NyaXB0IGlkPScyZC1mcmFn
bWVudC1zaGFkZXInIHR5cGU9J3gtc2hhZGVyL3gtZnJhZ21lbnQnPiN2ZXJzaW9uIDMwMCBlcwor
ICAgIHByZWNpc2lvbiBtZWRpdW1wIGZsb2F0OworICAgIHVuaWZvcm0gdmVjMyB1Q29sOworICAg
IG91dCB2ZWM0IGNvbDsKKyAgICB2b2lkIG1haW4oKXsKKyAgICAgICAgY29sID0gdmVjNCh1Q29s
LDEuKTsKKyAgICB9Cis8L3NjcmlwdD4KKzxzY3JpcHQ+CisgICAgZnVuY3Rpb24gY3JlYXRlU2hh
ZGVyKGdsLCBzb3VyY2VDb2RlLCB0eXBlLCB0eXBlX3N0cikgeworICAgICAgICB2YXIgc2hhZGVy
ID0gZ2wuY3JlYXRlU2hhZGVyKHR5cGUpOworICAgICAgICBnbC5zaGFkZXJTb3VyY2Uoc2hhZGVy
LCBzb3VyY2VDb2RlKTsKKyAgICAgICAgZ2wuY29tcGlsZVNoYWRlcihzaGFkZXIpOworCisgICAg
ICAgIGlmICghZ2wuZ2V0U2hhZGVyUGFyYW1ldGVyKHNoYWRlciwgZ2wuQ09NUElMRV9TVEFUVVMp
KSB7CisgICAgICAgICAgICB2YXIgaW5mbyA9IGdsLmdldFNoYWRlckluZm9Mb2coc2hhZGVyKTsK
KyAgICAgICAgICAgIGNvbnNvbGUubG9nKGluZm8pOworICAgICAgICB9CisKKyAgICAgICAgcmV0
dXJuIHNoYWRlcjsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBjcmVhdGVQcm9ncmFtKGdsLCB2ZXJ0
ZXhTaGFkZXIsIGZyYWdtZW50U2hhZGVyKSB7CisgICAgICAgIHZhciBwcm9ncmFtID0gZ2wuY3Jl
YXRlUHJvZ3JhbSgpOworICAgICAgICBnbC5hdHRhY2hTaGFkZXIocHJvZ3JhbSwgdmVydGV4U2hh
ZGVyKTsKKyAgICAgICAgZ2wuYXR0YWNoU2hhZGVyKHByb2dyYW0sIGZyYWdtZW50U2hhZGVyKTsK
KyAgICAgICAgdHJhbnNmb3JtX291dHMgPSBbInZlY3RvciJdOworICAgICAgICB0cmFuc2Zvcm1f
ZmVlZCA9IGdsLmNyZWF0ZVRyYW5zZm9ybUZlZWRiYWNrKCk7CisgICAgICAgIGdsLmJpbmRUcmFu
c2Zvcm1GZWVkYmFjayhnbC5UUkFOU0ZPUk1fRkVFREJBQ0ssdHJhbnNmb3JtX2ZlZWQpOworICAg
ICAgICBnbC50cmFuc2Zvcm1GZWVkYmFja1ZhcnlpbmdzKHByb2dyYW0sdHJhbnNmb3JtX291dHMs
Z2wuSU5URVJMRUFWRURfQVRUUklCUyk7CisgICAgICAgIGdsLmxpbmtQcm9ncmFtKHByb2dyYW0p
OworICAgICAgICBhY3RpdmVfaW5mbyA9IGdsLmdldFRyYW5zZm9ybUZlZWRiYWNrVmFyeWluZyhw
cm9ncmFtLDApOworICAgICAgICBnbC51c2VQcm9ncmFtKHByb2dyYW0pOworCisgICAgICAgIGlm
ICghZ2wuZ2V0UHJvZ3JhbVBhcmFtZXRlcihwcm9ncmFtLCBnbC5MSU5LX1NUQVRVUykpIHsKKyAg
ICAgICAgICAgIHZhciBpbmZvID0gZ2wuZ2V0UHJvZ3JhbUluZm9Mb2cocHJvZ3JhbSk7CisgICAg
ICAgICAgICBjb25zb2xlLmxvZyhpbmZvKTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gcHJv
Z3JhbQorICAgIH0KKworICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgeworICAgICAgdGVzdFJ1
bm5lci5kdW1wQXNUZXh0KCk7CisgICAgICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsKKyAg
ICB9CisKKyAgICBmdW5jdGlvbiBydW5UZXN0KCkgeworICAgICAgICB2YXIgY2FudmFzID0gZG9j
dW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIik7CisgICAgICAgIGNhbnZhcy53aWR0aCA9ICI2
NDAiOworICAgICAgICBjYW52YXMuaGVpZ2h0ID0gIjQ4MCIKKyAgICAgICAgY2FudmFzLnN0eWxl
LmJvcmRlciA9ICJ0aGljayBzb2xpZCAjMDBGRkZGIjsKKyAgICAgICAgdmFyIHdlYmdsXzEgPSBj
YW52YXMuZ2V0Q29udGV4dCgid2ViZ2wyIik7CisgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5k
KGNhbnZhcykKKworICAgICAgICB2YXIgc2NoYWRlcl9zY3JpcHRfMyA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCcyZC12ZXJ0ZXgtc2hhZGVyJyk7CisgICAgICAgIHZhciBzaGFkZXJfc291cmNl
XzMgPSBzY2hhZGVyX3NjcmlwdF8zLnRleHQ7CisgICAgICAgIHZhciBzY2hhZGVyX3NjcmlwdF80
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJzJkLWZyYWdtZW50LXNoYWRlcicpOworICAgICAg
ICB2YXIgc2hhZGVyX3NvdXJjZV80ID0gc2NoYWRlcl9zY3JpcHRfNC50ZXh0OworCisgICAgICAg
IHZhciB2ZXJ0ZXhTaGFkZXIgPSBjcmVhdGVTaGFkZXIod2ViZ2xfMSwgc2hhZGVyX3NvdXJjZV8z
LCB3ZWJnbF8xLlZFUlRFWF9TSEFERVIsIlZFUlRFWF9TSEFERVIiKQorICAgICAgICB2YXIgZnJh
Z21lbnRTaGFkZXIgPSBjcmVhdGVTaGFkZXIod2ViZ2xfMSwgc2hhZGVyX3NvdXJjZV80LCB3ZWJn
bF8xLkZSQUdNRU5UX1NIQURFUiwiRlJBR01FTlRfU0hBREVSIikKKyAgICAgICAgY3JlYXRlUHJv
Z3JhbSh3ZWJnbF8xLCB2ZXJ0ZXhTaGFkZXIsIGZyYWdtZW50U2hhZGVyKQorCisgICAgICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsK
KyAgICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKyAg
ICA8ZGl2PlBBU1MuIFlvdSBkaWRuJ3QgY3Jhc2guPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>415392</attachid>
            <date>2020-12-04 00:31:27 -0800</date>
            <delta_ts>2020-12-04 01:51:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-218602-20201204093125.patch</filename>
            <type>text/plain</type>
            <size>6363</size>
            <attacher name="Rob Buis">rbuis</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcwNDI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvVGhpcmRQYXJ0
eS9BTkdMRS9DaGFuZ2VMb2cgYi9Tb3VyY2UvVGhpcmRQYXJ0eS9BTkdMRS9DaGFuZ2VMb2cKaW5k
ZXggNWExZTI4Yjg3YWQxODJhMmQ0ZmZjZDdiZTAyZGVmZWQ3Yzc4YmUwMS4uMDBhNzY2N2E1MDJh
ZjgwZWQ4NjU0OWE2MWVjY2Q3ZGE1YTg3YTczNSAxMDA2NDQKLS0tIGEvU291cmNlL1RoaXJkUGFy
dHkvQU5HTEUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE2IEBACisyMDIwLTEyLTA0ICBSb2IgQnVpcyAgPHJidWlzQGlnYWxpYS5j
b20+CisKKyAgICAgICAgV2ViR0wyOiBOdWxsIHBvaW50ZXIgZGVyZWZlcmVuY2UgaW4gc3RkOjpz
dHJpbmcgaW1wbGVtZW50YXRpb24gaW4gZ2w6OlNoYWRlcjo6Z2V0VHJhbnNmb3JtRmVlZGJhY2tW
YXJ5aW5nTWFwcGVkTmFtZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjE4NjAyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGVhbiBKYWNrc29uLgorCisg
ICAgICAgIFNraXAgdmFyeWluZyBpZiBmaWVsZCBpcyBub3QgZm91bmQgc2luY2UgaW4gdGhpcwor
ICAgICAgICBjYXNlIHdlIGhhdmUgbm8gbWF0Y2ggZm9yIHRoZSB2YXJ5aW5nIHBhcmFtZXRlciBu
YW1lLgorCisgICAgICAgICogc3JjL2xpYkFOR0xFL1NoYWRlci5jcHA6CisgICAgICAgIChnbDo6
U2hhZGVyOjpnZXRUcmFuc2Zvcm1GZWVkYmFja1ZhcnlpbmdNYXBwZWROYW1lKToKKwogMjAyMC0x
Mi0wMyAgQWRhbSBSb2JlbiAgPGFyb2JlbkBhcHBsZS5jb20+CiAKICAgICAgICAgQWRvcHQgRkFM
TEJBQ0tfUExBVEZPUk0KZGlmZiAtLWdpdCBhL1NvdXJjZS9UaGlyZFBhcnR5L0FOR0xFL3NyYy9s
aWJBTkdMRS9TaGFkZXIuY3BwIGIvU291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xF
L1NoYWRlci5jcHAKaW5kZXggNmY5YTc4YTI2MzJkNGUwOGY3MDU5OGZmNzJkOWVlYTc4MmE1MTk4
My4uOTYwMDZkOTRhODA0ZjhkOTdhMDEzYTRmOTRkOGVkODNkNGFmZWU3YyAxMDA2NDQKLS0tIGEv
U291cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL1NoYWRlci5jcHAKKysrIGIvU291
cmNlL1RoaXJkUGFydHkvQU5HTEUvc3JjL2xpYkFOR0xFL1NoYWRlci5jcHAKQEAgLTY1NSw3ICs2
NTUsOSBAQCBzdGQ6OnN0cmluZyBTaGFkZXI6OmdldFRyYW5zZm9ybUZlZWRiYWNrVmFyeWluZ01h
cHBlZE5hbWUoY29uc3Qgc3RkOjpzdHJpbmcgJnRmVgogICAgICAgICAgICAgewogICAgICAgICAg
ICAgICAgIEdMdWludCBmaWVsZEluZGV4ID0gMDsKICAgICAgICAgICAgICAgICBjb25zdCBhdXRv
ICpmaWVsZCA9IHZhcnlpbmcuZmluZEZpZWxkKHRmVmFyeWluZ05hbWUsICZmaWVsZEluZGV4KTsK
LSAgICAgICAgICAgICAgICBBU1NFUlQoZmllbGQgIT0gbnVsbHB0ciAmJiAhZmllbGQtPmlzU3Ry
dWN0KCkgJiYgIWZpZWxkLT5pc0FycmF5KCkpOworICAgICAgICAgICAgICAgIGlmICghZmllbGQp
CisgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgIEFTU0VSVCgh
ZmllbGQtPmlzU3RydWN0KCkgJiYgIWZpZWxkLT5pc0FycmF5KCkpOwogICAgICAgICAgICAgICAg
IHJldHVybiB2YXJ5aW5nLm1hcHBlZE5hbWUgKyAiLiIgKyBmaWVsZC0+bWFwcGVkTmFtZTsKICAg
ICAgICAgICAgIH0KICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGY0MDc4ZmM4YWVjNDVjOGU2MmE2YzBhODBi
ZGM2ZTZiNmE5Zjc2NmMuLjE4ZDBkMjJlNDliNjU3OWMzODBlMzZhNWUyZjRjZGVkYWE4ZGFlODIg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAyMC0xMi0wNCAgUm9iIEJ1aXMgIDxyYnVpc0BpZ2Fs
aWEuY29tPgorCisgICAgICAgIFdlYkdMMjogTnVsbCBwb2ludGVyIGRlcmVmZXJlbmNlIGluIHN0
ZDo6c3RyaW5nIGltcGxlbWVudGF0aW9uIGluIGdsOjpTaGFkZXI6OmdldFRyYW5zZm9ybUZlZWRi
YWNrVmFyeWluZ01hcHBlZE5hbWUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIxODYwMgorCisgICAgICAgIFJldmlld2VkIGJ5IERlYW4gSmFja3Nvbi4K
KworICAgICAgICBBZGQgdGVzdCB0aGF0IHRyaWdnZXJzIHRoZSBTaGFkZXI6OmdldFRyYW5zZm9y
bUZlZWRiYWNrVmFyeWluZ01hcHBlZE5hbWUKKyAgICAgICAgZmllbGQgY29kZS4KKworICAgICAg
ICAqIGZhc3QvY2FudmFzL3dlYmdsL3dlYmdsLXRyYW5zZm9ybWVkLXZhcnlpbmctbmFtZS1jcmFz
aC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY2FudmFzL3dlYmdsL3dlYmds
LXRyYW5zZm9ybWVkLXZhcnlpbmctbmFtZS1jcmFzaC5odG1sOiBBZGRlZC4KKwogMjAyMC0xMi0w
MyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBPbmx5
IHRoZSBmaXJzdCB3aGVlbCBldmVudCBpbiBhIGdlc3R1cmUgc2hvdWxkIGJlIGNhbmNlbGFibGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3dlYmdsLXRyYW5zZm9y
bWVkLXZhcnlpbmctbmFtZS1jcmFzaC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Nh
bnZhcy93ZWJnbC93ZWJnbC10cmFuc2Zvcm1lZC12YXJ5aW5nLW5hbWUtY3Jhc2gtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmU2NmJkZDMwZDc2NjkwZGU1Y2EwMjg0NTQxMmU2NTc1ZGE2NzQ3NDUK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC93ZWJnbC10
cmFuc2Zvcm1lZC12YXJ5aW5nLW5hbWUtY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMiBA
QAorUEFTUy4gWW91IGRpZG4ndCBjcmFzaC4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9jYW52YXMvd2ViZ2wvd2ViZ2wtdHJhbnNmb3JtZWQtdmFyeWluZy1uYW1lLWNyYXNoLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC93ZWJnbC10cmFuc2Zvcm1lZC12YXJ5aW5n
LW5hbWUtY3Jhc2guaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xY2ZiYzM2MWFjOGE4NmQ5MmExNzgxOTlhYjM3
ODVjOTRiODM0NjNlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMv
d2ViZ2wvd2ViZ2wtdHJhbnNmb3JtZWQtdmFyeWluZy1uYW1lLWNyYXNoLmh0bWwKQEAgLTAsMCAr
MSw5MiBAQAor77u/PCFET0NUWVBFIGh0bWw+Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9IlVURi04
Ij4KKzxzY3JpcHQgaWQ9JzJkLXZlcnRleC1zaGFkZXInIHR5cGU9J3gtc2hhZGVyL3gtdmVydGV4
Jz4jdmVyc2lvbiAzMDAgZXMKKyAgICBwcmVjaXNpb24gbWVkaXVtcCBmbG9hdDsKKyAgICBpbiB2
ZWM0IGFfcG9zaXRpb247CisgICAgc3RydWN0IFMKKyAgICB7CisgICAgICAgIG1hdDN4NCBtOwor
ICAgIH07CisgICAgb3V0IFMgbWF0cml4OworICAgIG91dCB2ZWMzIHZlY3RvcjsKKworICAgIHZv
aWQgbWFpbigpCisgICAgeworICAgICAgICBtYXRyaXgubSA9IG1hdDN4NCgxLjApOworICAgICAg
ICB2ZWN0b3IgPSB2ZWMzKDEuMCk7CisgICAgICAgIGdsX1Bvc2l0aW9uID0gYV9wb3NpdGlvbjsK
KyAgICB9Cis8L3NjcmlwdD4KKzxzY3JpcHQgaWQ9JzJkLWZyYWdtZW50LXNoYWRlcicgdHlwZT0n
eC1zaGFkZXIveC1mcmFnbWVudCc+I3ZlcnNpb24gMzAwIGVzCisgICAgcHJlY2lzaW9uIG1lZGl1
bXAgZmxvYXQ7CisgICAgdW5pZm9ybSB2ZWMzIHVDb2w7CisgICAgb3V0IHZlYzQgY29sOworICAg
IHZvaWQgbWFpbigpeworICAgICAgICBjb2wgPSB2ZWM0KHVDb2wsMS4pOworICAgIH0KKzwvc2Ny
aXB0PgorPHNjcmlwdD4KKyAgICBmdW5jdGlvbiBjcmVhdGVTaGFkZXIoZ2wsIHNvdXJjZUNvZGUs
IHR5cGUsIHR5cGVfc3RyKSB7CisgICAgICAgIHZhciBzaGFkZXIgPSBnbC5jcmVhdGVTaGFkZXIo
dHlwZSk7CisgICAgICAgIGdsLnNoYWRlclNvdXJjZShzaGFkZXIsIHNvdXJjZUNvZGUpOworICAg
ICAgICBnbC5jb21waWxlU2hhZGVyKHNoYWRlcik7CisKKyAgICAgICAgaWYgKCFnbC5nZXRTaGFk
ZXJQYXJhbWV0ZXIoc2hhZGVyLCBnbC5DT01QSUxFX1NUQVRVUykpIHsKKyAgICAgICAgICAgIHZh
ciBpbmZvID0gZ2wuZ2V0U2hhZGVySW5mb0xvZyhzaGFkZXIpOworICAgICAgICAgICAgY29uc29s
ZS5sb2coaW5mbyk7CisgICAgICAgIH0KKworICAgICAgICByZXR1cm4gc2hhZGVyOworICAgIH0K
KworICAgIGZ1bmN0aW9uIGNyZWF0ZVByb2dyYW0oZ2wsIHZlcnRleFNoYWRlciwgZnJhZ21lbnRT
aGFkZXIpIHsKKyAgICAgICAgdmFyIHByb2dyYW0gPSBnbC5jcmVhdGVQcm9ncmFtKCk7CisgICAg
ICAgIGdsLmF0dGFjaFNoYWRlcihwcm9ncmFtLCB2ZXJ0ZXhTaGFkZXIpOworICAgICAgICBnbC5h
dHRhY2hTaGFkZXIocHJvZ3JhbSwgZnJhZ21lbnRTaGFkZXIpOworICAgICAgICB0cmFuc2Zvcm1f
b3V0cyA9IFsidmVjdG9yIl07CisgICAgICAgIHRyYW5zZm9ybV9mZWVkID0gZ2wuY3JlYXRlVHJh
bnNmb3JtRmVlZGJhY2soKTsKKyAgICAgICAgZ2wuYmluZFRyYW5zZm9ybUZlZWRiYWNrKGdsLlRS
QU5TRk9STV9GRUVEQkFDSyx0cmFuc2Zvcm1fZmVlZCk7CisgICAgICAgIGdsLnRyYW5zZm9ybUZl
ZWRiYWNrVmFyeWluZ3MocHJvZ3JhbSx0cmFuc2Zvcm1fb3V0cyxnbC5JTlRFUkxFQVZFRF9BVFRS
SUJTKTsKKyAgICAgICAgZ2wubGlua1Byb2dyYW0ocHJvZ3JhbSk7CisgICAgICAgIGFjdGl2ZV9p
bmZvID0gZ2wuZ2V0VHJhbnNmb3JtRmVlZGJhY2tWYXJ5aW5nKHByb2dyYW0sMCk7CisgICAgICAg
IGdsLnVzZVByb2dyYW0ocHJvZ3JhbSk7CisKKyAgICAgICAgaWYgKCFnbC5nZXRQcm9ncmFtUGFy
YW1ldGVyKHByb2dyYW0sIGdsLkxJTktfU1RBVFVTKSkgeworICAgICAgICAgICAgdmFyIGluZm8g
PSBnbC5nZXRQcm9ncmFtSW5mb0xvZyhwcm9ncmFtKTsKKyAgICAgICAgICAgIGNvbnNvbGUubG9n
KGluZm8pOworICAgICAgICB9CisgICAgICAgIHJldHVybiBwcm9ncmFtCisgICAgfQorCisgICAg
aWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7CisgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsK
KyAgICAgIHRlc3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOworICAgIH0KKworICAgIGZ1bmN0aW9u
IHJ1blRlc3QoKSB7CisgICAgICAgIHZhciBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJjYW52YXMiKTsKKyAgICAgICAgY2FudmFzLndpZHRoID0gIjY0MCI7CisgICAgICAgIGNhbnZh
cy5oZWlnaHQgPSAiNDgwIgorICAgICAgICBjYW52YXMuc3R5bGUuYm9yZGVyID0gInRoaWNrIHNv
bGlkICMwMEZGRkYiOworICAgICAgICB2YXIgd2ViZ2xfMSA9IGNhbnZhcy5nZXRDb250ZXh0KCJ3
ZWJnbDIiKTsKKyAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmQoY2FudmFzKQorCisgICAgICAg
IHZhciBzY2hhZGVyX3NjcmlwdF8zID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJzJkLXZlcnRl
eC1zaGFkZXInKTsKKyAgICAgICAgdmFyIHNoYWRlcl9zb3VyY2VfMyA9IHNjaGFkZXJfc2NyaXB0
XzMudGV4dDsKKyAgICAgICAgdmFyIHNjaGFkZXJfc2NyaXB0XzQgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgnMmQtZnJhZ21lbnQtc2hhZGVyJyk7CisgICAgICAgIHZhciBzaGFkZXJfc291cmNl
XzQgPSBzY2hhZGVyX3NjcmlwdF80LnRleHQ7CisKKyAgICAgICAgdmFyIHZlcnRleFNoYWRlciA9
IGNyZWF0ZVNoYWRlcih3ZWJnbF8xLCBzaGFkZXJfc291cmNlXzMsIHdlYmdsXzEuVkVSVEVYX1NI
QURFUiwiVkVSVEVYX1NIQURFUiIpCisgICAgICAgIHZhciBmcmFnbWVudFNoYWRlciA9IGNyZWF0
ZVNoYWRlcih3ZWJnbF8xLCBzaGFkZXJfc291cmNlXzQsIHdlYmdsXzEuRlJBR01FTlRfU0hBREVS
LCJGUkFHTUVOVF9TSEFERVIiKQorICAgICAgICBjcmVhdGVQcm9ncmFtKHdlYmdsXzEsIHZlcnRl
eFNoYWRlciwgZnJhZ21lbnRTaGFkZXIpCisKKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVy
KQorICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgIH0KKzwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgorICAgIDxkaXY+UEFTUy4gWW91IGRp
ZG4ndCBjcmFzaC48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>