<?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>193177</bug_id>
          
          <creation_ts>2019-01-06 10:45:56 -0800</creation_ts>
          <short_desc>Leak of WTF::Function objects in WebCore::CryptoKeyRSA::generatePair() (64-80 bytes each) in com.apple.WebKit.WebContent running WebKit layout tests</short_desc>
          <delta_ts>2019-01-06 18:05:54 -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>WebCore Misc.</component>
          <version>WebKit Local Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=193154</see_also>
          <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="David Kilzer (:ddkilzer)">ddkilzer</reporter>
          <assigned_to name="David Kilzer (:ddkilzer)">ddkilzer</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>don.olmstead</cc>
    
    <cc>jiewen_tan</cc>
    
    <cc>mark.lam</cc>
    
    <cc>saam</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1492143</commentid>
    <comment_count>0</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2019-01-06 10:45:56 -0800</bug_when>
    <thetext>Leak of WTF::Function objects in WebCore::CryptoKeyRSA::generatePair() (64-80 bytes each) in com.apple.WebKit.WebContent running WebKit layout tests.

$ ./Tools/Scripts/run-webkit-tests --no-build --debug --batch-size=1000 --child-processes=1 --verbose --leaks --no-retry --no-show-results imported/w3c/web-platform-tests/WebCryptoAPI/generateKey/successes_RSA-OAEP.https.any.worker.html

NOTE: Requires changes to run-webkit-tests to support --leaks with WebKit2.

STACK OF 1 INSTANCE OF &apos;ROOT LEAK: &lt;0x7ffebf90a850&gt;&apos;:
[thread 0x70000d866000]:
28  libsystem_pthread.dylib            0x7fff66301445 thread_start + 13
27  libsystem_pthread.dylib            0x7fff663052a7 _pthread_start + 70
26  libsystem_pthread.dylib            0x7fff66302339 _pthread_body + 126
25  com.apple.JavaScriptCore              0x115645cc9 WTF::wtfThreadEntryPoint(void*) + 9  ThreadingPthreads.cpp:203
24  com.apple.JavaScriptCore              0x115644032 WTF::Thread::entryPoint(WTF::Thread::NewThreadContext*) + 194  memory:2597
23  com.apple.WebCore                     0x1129e6a06 WebCore::WorkerThread::workerThread() + 1046  RefPtr.h:58
22  com.apple.WebCore                     0x1129e3e00 WebCore::WorkerRunLoop::run(WebCore::WorkerGlobalScope*) + 96  WorkerRunLoop.cpp:138
21  com.apple.WebCore                     0x1129e403d WebCore::WorkerRunLoop::runInMode(WebCore::WorkerGlobalScope*, WebCore::ModePredicate const&amp;, WebCore::WorkerRunLoop::WaitMode) + 477  WorkerRunLoop.cpp:211
20  com.apple.WebCore                     0x1125316d9 WebCore::ThreadTimers::sharedTimerFiredInternal() + 185  ThreadTimers.cpp:120
19  com.apple.WebCore                     0x112086be9 WebCore::MicrotaskQueue::performMicrotaskCheckpoint() + 137  Microtasks.cpp:95
18  com.apple.WebCore                     0x1120058af WebCore::ActiveDOMCallbackMicrotask::run() + 47  Function.h:56
17  com.apple.WebCore                     0x111e04943 WebCore::JSMicrotaskCallback::call() + 67  JSMicrotaskCallback.h:46
16  com.apple.WebCore                     0x111dfd664 WebCore::JSExecState::runTask(JSC::ExecState*, JSC::Microtask&amp;) + 68  JSExecState.h:50
15  com.apple.JavaScriptCore              0x11613f9dd JSC::JSMicrotask::run(JSC::ExecState*) + 461  VM.h:950
14  com.apple.JavaScriptCore              0x1160708f4 JSC::profiledCall(JSC::ExecState*, JSC::ProfilingReason, JSC::JSValue, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;) + 196  CallData.cpp:41
13  com.apple.JavaScriptCore              0x115e29f25 JSC::Interpreter::executeCall(JSC::ExecState*, JSC::JSObject*, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;) + 469  JITCodeInlines.h:39
12  com.apple.JavaScriptCore              0x115851919 vmEntryToJavaScript + 200  LowLevelInterpreter64.asm:295
11                                     0x277493874ff7 0x277493801000 + 475127
10                                     0x27749388199b 0x277493801000 + 526747
9                                      0x27749387a5cd 0x277493801000 + 497101
8                                      0x2774938828a7 0x277493801000 + 530599
7                                      0x277493801eb7 0x277493801000 + 3767
6   com.apple.WebCore                     0x111a7fd97 WebCore::jsSubtleCryptoPrototypeFunctionGenerateKey(JSC::ExecState*) + 567  Vector.h:340
5   com.apple.WebCore                     0x111eb2ca8 WebCore::SubtleCrypto::generateKey(JSC::ExecState&amp;, WTF::Variant&lt;JSC::Strong&lt;JSC::JSObject&gt;, WTF::String&gt;&amp;&amp;, bool, WTF::Vector&lt;WebCore::CryptoKeyUsage, 0ul, WTF::CrashOnOverflow, 16ul&gt;&amp;&amp;, WTF::Ref&lt;WebCore::DeferredPromise, WTF::DumbPtrTraits&lt;WebCore::DeferredPromise&gt; &gt;&amp;&amp;) + 728  memory:2595
4   com.apple.WebCore                     0x111ec84b0 WebCore::CryptoAlgorithmRSA_OAEP::generateKey(WebCore::CryptoAlgorithmParameters const&amp;, bool, int, WTF::Function&lt;void (WTF::Variant&lt;WTF::RefPtr&lt;WebCore::CryptoKey, WTF::DumbPtrTraits&lt;WebCore::CryptoKey&gt; &gt;, WebCore::CryptoKeyPair&gt;&amp;&amp;)&gt;&amp;&amp;, WTF::Function&lt;void (WebCore::ExceptionCode)&gt;&amp;&amp;, WebCore::ScriptExecutionContext&amp;) + 208  CryptoAlgorithmRSA_OAEP.cpp:102
3   com.apple.WebCore                     0x111ed5dcc WebCore::CryptoKeyRSA::generatePair(WebCore::CryptoAlgorithmIdentifier, WebCore::CryptoAlgorithmIdentifier, bool, unsigned int, WTF::Vector&lt;unsigned char, 0ul, WTF::CrashOnOverflow, 16ul&gt; const&amp;, bool, int, WTF::Function&lt;void (WebCore::CryptoKeyPair&amp;&amp;)&gt;&amp;&amp;, WTF::Function&lt;void ()&gt;&amp;&amp;, WebCore::ScriptExecutionContext*) + 268  CryptoKeyRSAMac.cpp:305
2   libc++abi.dylib                    0x7fff6383ff48 operator new(unsigned long) + 40
1   libsystem_malloc.dylib             0x7fff662bd783 malloc + 24
0   libsystem_malloc.dylib             0x7fff662bd82b malloc_zone_malloc + 139 
====
    4 (80 bytes) ROOT LEAK: 0x7ffebf90a850 [16]
       3 (64 bytes) &lt;WTF::Function&lt;void (WebCore::CryptoKeyPair&amp;&amp;)&gt;::CallableWrapper&lt;WebCore::CryptoAlgorithmRSA_OAEP::generateKey(WebCore::CryptoAlgorithmParameters const&amp;, bool, int, WTF::Function&lt;void (WTF::Variant&lt;WTF::RefPtr&lt;WebCore::CryptoKey, WTF::DumbPtrTraits&lt;WebCore::CryptoKey&gt; &gt;, WebCore::CryptoKeyPair&gt;&amp;&amp;)&gt;&amp;&amp;, WTF::Function&lt;void (WebCore::ExceptionCode)&gt;&amp;&amp;, WebCore::ScriptExecutionContext&amp;)::$_4&gt; 0x7ffebf90a040&gt; [16]
          2 (48 bytes) &lt;WTF::Function&lt;void (WTF::Variant&lt;WTF::RefPtr&lt;WebCore::CryptoKey, WTF::DumbPtrTraits&lt;WebCore::CryptoKey&gt; &gt;, WebCore::CryptoKeyPair&gt;&amp;&amp;)&gt;::CallableWrapper&lt;WebCore::SubtleCrypto::generateKey(JSC::ExecState&amp;, WTF::Variant&lt;JSC::Strong&lt;JSC::JSObject&gt;, WTF::String&gt;&amp;&amp;, bool, WTF::Vector&lt;WebCore::CryptoKeyUsage, 0ul, WTF::CrashOnOverflow, 16ul&gt;&amp;&amp;, WTF::Ref&lt;WebCore::DeferredPromise, WTF::DumbPtrTraits&lt;WebCore::DeferredPromise&gt; &gt;&amp;&amp;)::$_10&gt; 0x7ffeb7eec550&gt; [32]
             1 (16 bytes) 0x7ffeb7c86960 [16]

STACK OF 1 INSTANCE OF &apos;ROOT LEAK: &lt;0x7ffebf94d850&gt;&apos;:
[thread 0x70000d866000]:
28  libsystem_pthread.dylib            0x7fff66301445 thread_start + 13
27  libsystem_pthread.dylib            0x7fff663052a7 _pthread_start + 70
26  libsystem_pthread.dylib            0x7fff66302339 _pthread_body + 126
25  com.apple.JavaScriptCore              0x115645cc9 WTF::wtfThreadEntryPoint(void*) + 9  ThreadingPthreads.cpp:203
24  com.apple.JavaScriptCore              0x115644032 WTF::Thread::entryPoint(WTF::Thread::NewThreadContext*) + 194  memory:2597
23  com.apple.WebCore                     0x1129e6a06 WebCore::WorkerThread::workerThread() + 1046  RefPtr.h:58
22  com.apple.WebCore                     0x1129e3e00 WebCore::WorkerRunLoop::run(WebCore::WorkerGlobalScope*) + 96  WorkerRunLoop.cpp:138
21  com.apple.WebCore                     0x1129e403d WebCore::WorkerRunLoop::runInMode(WebCore::WorkerGlobalScope*, WebCore::ModePredicate const&amp;, WebCore::WorkerRunLoop::WaitMode) + 477  WorkerRunLoop.cpp:211
20  com.apple.WebCore                     0x1125316d9 WebCore::ThreadTimers::sharedTimerFiredInternal() + 185  ThreadTimers.cpp:120
19  com.apple.WebCore                     0x112086be9 WebCore::MicrotaskQueue::performMicrotaskCheckpoint() + 137  Microtasks.cpp:95
18  com.apple.WebCore                     0x1120058af WebCore::ActiveDOMCallbackMicrotask::run() + 47  Function.h:56
17  com.apple.WebCore                     0x111e04943 WebCore::JSMicrotaskCallback::call() + 67  JSMicrotaskCallback.h:46
16  com.apple.WebCore                     0x111dfd664 WebCore::JSExecState::runTask(JSC::ExecState*, JSC::Microtask&amp;) + 68  JSExecState.h:50
15  com.apple.JavaScriptCore              0x11613f9dd JSC::JSMicrotask::run(JSC::ExecState*) + 461  VM.h:950
14  com.apple.JavaScriptCore              0x1160708f4 JSC::profiledCall(JSC::ExecState*, JSC::ProfilingReason, JSC::JSValue, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;) + 196  CallData.cpp:41
13  com.apple.JavaScriptCore              0x115e29f25 JSC::Interpreter::executeCall(JSC::ExecState*, JSC::JSObject*, JSC::CallType, JSC::CallData const&amp;, JSC::JSValue, JSC::ArgList const&amp;) + 469  JITCodeInlines.h:39
12  com.apple.JavaScriptCore              0x115851919 vmEntryToJavaScript + 200  LowLevelInterpreter64.asm:295
11                                     0x277493874ff7 0x277493801000 + 475127
10                                     0x27749388199b 0x277493801000 + 526747
9                                      0x27749387a5cd 0x277493801000 + 497101
8                                      0x2774938828a7 0x277493801000 + 530599
7                                      0x277493801eb7 0x277493801000 + 3767
6   com.apple.WebCore                     0x111a7fd97 WebCore::jsSubtleCryptoPrototypeFunctionGenerateKey(JSC::ExecState*) + 567  Vector.h:340
5   com.apple.WebCore                     0x111eb2ca8 WebCore::SubtleCrypto::generateKey(JSC::ExecState&amp;, WTF::Variant&lt;JSC::Strong&lt;JSC::JSObject&gt;, WTF::String&gt;&amp;&amp;, bool, WTF::Vector&lt;WebCore::CryptoKeyUsage, 0ul, WTF::CrashOnOverflow, 16ul&gt;&amp;&amp;, WTF::Ref&lt;WebCore::DeferredPromise, WTF::DumbPtrTraits&lt;WebCore::DeferredPromise&gt; &gt;&amp;&amp;) + 728  memory:2595
4   com.apple.WebCore                     0x111ec84b0 WebCore::CryptoAlgorithmRSA_OAEP::generateKey(WebCore::CryptoAlgorithmParameters const&amp;, bool, int, WTF::Function&lt;void (WTF::Variant&lt;WTF::RefPtr&lt;WebCore::CryptoKey, WTF::DumbPtrTraits&lt;WebCore::CryptoKey&gt; &gt;, WebCore::CryptoKeyPair&gt;&amp;&amp;)&gt;&amp;&amp;, WTF::Function&lt;void (WebCore::ExceptionCode)&gt;&amp;&amp;, WebCore::ScriptExecutionContext&amp;) + 208  CryptoAlgorithmRSA_OAEP.cpp:102
3   com.apple.WebCore                     0x111ed5de8 WebCore::CryptoKeyRSA::generatePair(WebCore::CryptoAlgorithmIdentifier, WebCore::CryptoAlgorithmIdentifier, bool, unsigned int, WTF::Vector&lt;unsigned char, 0ul, WTF::CrashOnOverflow, 16ul&gt; const&amp;, bool, int, WTF::Function&lt;void (WebCore::CryptoKeyPair&amp;&amp;)&gt;&amp;&amp;, WTF::Function&lt;void ()&gt;&amp;&amp;, WebCore::ScriptExecutionContext*) + 296  CryptoKeyRSAMac.cpp:306
2   libc++abi.dylib                    0x7fff6383ff48 operator new(unsigned long) + 40
1   libsystem_malloc.dylib             0x7fff662bd783 malloc + 24
0   libsystem_malloc.dylib             0x7fff662bd82b malloc_zone_malloc + 139 
====
    3 (64 bytes) ROOT LEAK: 0x7ffebf94d850 [16]
       2 (48 bytes) &lt;WTF::Function&lt;void ()&gt;::CallableWrapper&lt;WebCore::CryptoAlgorithmRSA_OAEP::generateKey(WebCore::CryptoAlgorithmParameters const&amp;, bool, int, WTF::Function&lt;void (WTF::Variant&lt;WTF::RefPtr&lt;WebCore::CryptoKey, WTF::DumbPtrTraits&lt;WebCore::CryptoKey&gt; &gt;, WebCore::CryptoKeyPair&gt;&amp;&amp;)&gt;&amp;&amp;, WTF::Function&lt;void (WebCore::ExceptionCode)&gt;&amp;&amp;, WebCore::ScriptExecutionContext&amp;)::$_5&gt; 0x7ffeb93600f0&gt; [16]
          1 (32 bytes) &lt;WTF::Function&lt;void (WebCore::ExceptionCode)&gt;::CallableWrapper&lt;WebCore::SubtleCrypto::generateKey(JSC::ExecState&amp;, WTF::Variant&lt;JSC::Strong&lt;JSC::JSObject&gt;, WTF::String&gt;&amp;&amp;, bool, WTF::Vector&lt;WebCore::CryptoKeyUsage, 0ul, WTF::CrashOnOverflow, 16ul&gt;&amp;&amp;, WTF::Ref&lt;WebCore::DeferredPromise, WTF::DumbPtrTraits&lt;WebCore::DeferredPromise&gt; &gt;&amp;&amp;)::$_11&gt; 0x7ffebfa00170&gt; [32]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1492144</commentid>
    <comment_count>1</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2019-01-06 10:46:31 -0800</bug_when>
    <thetext>&lt;rdar://problem/47072196&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1492147</commentid>
    <comment_count>2</comment_count>
      <attachid>358461</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2019-01-06 11:02:25 -0800</bug_when>
    <thetext>Created attachment 358461
Patch v1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1492151</commentid>
    <comment_count>3</comment_count>
      <attachid>358463</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2019-01-06 11:16:04 -0800</bug_when>
    <thetext>Created attachment 358463
Patch v2

- Remove unneeded &apos;mutable&apos; keyword.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1492172</commentid>
    <comment_count>4</comment_count>
      <attachid>358463</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-01-06 18:05:52 -0800</bug_when>
    <thetext>Comment on attachment 358463
Patch v2

Clearing flags on attachment: 358463

Committed r239664: &lt;https://trac.webkit.org/changeset/239664&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1492173</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-01-06 18:05:54 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>358461</attachid>
            <date>2019-01-06 11:02:25 -0800</date>
            <delta_ts>2019-01-06 11:16:02 -0800</delta_ts>
            <desc>Patch v1</desc>
            <filename>bug-193177-20190106110224.patch</filename>
            <type>text/plain</type>
            <size>4792</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5MzY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGJhNWFmNDg4OGFhNGJm
OWQxNDg0NGNjOWZhZjNhY2NjMzZmYTg0MS4uNWY2NDczZTJlYmU0NDllYjEyMzBjZWIxODI3Mjcy
YmVlMGYwZDI5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE5LTAxLTA2ICBEYXZp
ZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CisKKyAgICAgICAgTGVhayBvZiBXVEY6OkZ1
bmN0aW9uIG9iamVjdHMgaW4gV2ViQ29yZTo6Q3J5cHRvS2V5UlNBOjpnZW5lcmF0ZVBhaXIoKSAo
NjQtODAgYnl0ZXMgZWFjaCkgaW4gY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50IHJ1bm5pbmcg
V2ViS2l0IGxheW91dCB0ZXN0cworICAgICAgICA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTkzMTc3
PgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDcwNzIxOTY+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBjcnlwdG8vbWFjL0NyeXB0b0tleVJTQU1h
Yy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDcnlwdG9LZXlSU0E6OmdlbmVyYXRlUGFpcik6IEZp
eCB0aGUgbGVhayBieSBjaGFuZ2luZworICAgICAgICByYXcgcG9pbnRlcnMgdG8gaGVhcC1hbGxv
Y2F0ZWQgX19ibG9jayB2YXJpYWJsZXMgdG8gaG9sZCB0aGUKKyAgICAgICAgV1RGOjpGdW5jdGlv
biBvYmplY3RzIHVudGlsIHRoZXkgYXJlIGNvbnN1bWVkIHdpdGhpbiB0aGUgYmxvY2sKKyAgICAg
ICAgcGFzc2VkIHRvIGRpc3BhdGNoX2FzeW5jKCkuICBUaGUgX19ibG9jayB2YXJpYWJsZXMgYWN0
IGxpa2UKKyAgICAgICAgY2FwdHVyZWQgdmFyaWFibGVzIGluIGEgQysrIGxhbWJkYSBhbmQgaGF2
ZSB0aGUgc2FtZSBsaWZldGltZSBhcworICAgICAgICB0aGUgYmxvY2sgdGhhdCB0aGV5IGFyZSBj
YXB0dXJlZCBpbi4gIE5vdGUgdGhhdCB3ZSB3b3VsZCBoYXZlIHRvCisgICAgICAgIGNvbnZlcnQg
dGhlIHNvdXJjZSBmaWxlIGZyb20gQysrIHRvIE9iamVjdGl2ZS1DKysgdG8gdXNlIGEgQysrCisg
ICAgICAgIGxhbWJkYSBmdW5jdG9yIHdpdGggZGlzcGF0Y2hfYXN5bmMoKSwgd2hpY2ggY3JlYXRl
cyBpdHMgb3duCisgICAgICAgIGlzc3VlIGJlY2F1c2UgdGhlIGNvbWlwaWxlciByZXF1aXJlcyBh
IGNvcHkgY29uc3RydWN0b3IgdG8KKyAgICAgICAgY29udmVydCB0aGUgQysrIGxhbWJkYSB0byBh
IGJsb2NrIGZ1bmN0b3IsIGJ1dCB0aGUgY29weQorICAgICAgICBjb25zdHJ1Y3RvciBmb3IgdGhl
IEMrKyBsYW1iZGEgaXMgaW1wbGljaXRseSBkZWxldGVkIGJlY2F1c2UgdGhlCisgICAgICAgIFdU
Rjo6RnVuY3Rpb24gY29weSBjb25zdHJ1Y3RvciBpcyBleHBsaWNpdGx5IGRlbGV0ZWQuICBXaGV3
IQorCiAyMDE5LTAxLTA0ICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CiAKICAg
ICAgICAgTGVhayBvZiB0d28gQ0NSU0FDcnlwdG9yUmVmICg0LjAgS2J5dGVzLzEgcGFnZSBlYWNo
KSBpbiBjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQgcnVubmluZyBXZWJLaXQgbGF5b3V0IHRl
c3RzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vbWFjL0NyeXB0b0tleVJTQU1h
Yy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vbWFjL0NyeXB0b0tleVJTQU1hYy5jcHAKaW5k
ZXggZmYzNWY5OWNhYTEzYTBhNzA3NTNkMzdiYTgzZGJjZGU5OTc3ZmE0Yy4uMjgwNDM1ZTk3NWE0
NWFlY2RkMmQyNTFmYWRiZDBmZWRlMjYzZGY4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3J5cHRvL21hYy9DcnlwdG9LZXlSU0FNYWMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0
by9tYWMvQ3J5cHRvS2V5UlNBTWFjLmNwcApAQCAtMzAxLDM0ICszMDEsMjUgQEAgdm9pZCBDcnlw
dG9LZXlSU0E6OmdlbmVyYXRlUGFpcihDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGFsZ29yaXRo
bSwgQ3J5cHRvQWxnb3IKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIC8vIFdlIG9ubHkg
dXNlIHRoZSBjYWxsYmFjayBmdW5jdGlvbnMgd2hlbiBiYWNrIG9uIHRoZSBtYWluL3dvcmtlciB0
aHJlYWQsIGJ1dCBjYXB0dXJlZCB2YXJpYWJsZXMgYXJlIGNvcGllZCBvbiBhIHNlY29uZGFyeSB0
aHJlYWQgdG9vLgotICAgIEtleVBhaXJDYWxsYmFjayogbG9jYWxDYWxsYmFjayA9IG5ldyBLZXlQ
YWlyQ2FsbGJhY2soV1RGTW92ZShjYWxsYmFjaykpOwotICAgIFZvaWRDYWxsYmFjayogbG9jYWxG
YWlsdXJlQ2FsbGJhY2sgPSBuZXcgVm9pZENhbGxiYWNrKFdURk1vdmUoZmFpbHVyZUNhbGxiYWNr
KSk7CisgICAgX19ibG9jayBhdXRvIGJsb2NrQ2FsbGJhY2soV1RGTW92ZShjYWxsYmFjaykpOwor
ICAgIF9fYmxvY2sgYXV0byBibG9ja0ZhaWx1cmVDYWxsYmFjayhXVEZNb3ZlKGZhaWx1cmVDYWxs
YmFjaykpOwogICAgIGF1dG8gY29udGV4dElkZW50aWZpZXIgPSBjb250ZXh0LT5jb250ZXh0SWRl
bnRpZmllcigpOwotCi0gICAgLy8gRklYTUU6IFRoZXJlIGlzIGEgcmlzayB0aGF0IGxvY2FsQ2Fs
bGJhY2sgYW5kIGxvY2FsRmFpbHVyZUNhbGxiYWNrIGFyZSBuZXZlciBmcmVlZC4KLSAgICAvLyBG
aXggdGhpcyBieSB1c2luZyB1bmlxdWUgcG9pbnRlcnMgYW5kIG1vdmUgdGhlbSBmcm9tIG9uZSBs
YW1iZGEgdG8gdGhlIG90aGVyLgogICAgIGRpc3BhdGNoX2FzeW5jKGRpc3BhdGNoX2dldF9nbG9i
YWxfcXVldWUoRElTUEFUQ0hfUVVFVUVfUFJJT1JJVFlfREVGQVVMVCwgMCksIF57CiAgICAgICAg
IENDUlNBQ3J5cHRvclJlZiBjY1B1YmxpY0tleSA9IG51bGxwdHI7CiAgICAgICAgIENDUlNBQ3J5
cHRvclJlZiBjY1ByaXZhdGVLZXkgPSBudWxscHRyOwogICAgICAgICBDQ0NyeXB0b3JTdGF0dXMg
c3RhdHVzID0gQ0NSU0FDcnlwdG9yR2VuZXJhdGVQYWlyKG1vZHVsdXNMZW5ndGgsIGUsICZjY1B1
YmxpY0tleSwgJmNjUHJpdmF0ZUtleSk7CiAgICAgICAgIGlmIChzdGF0dXMpIHsKICAgICAgICAg
ICAgIFdURkxvZ0Fsd2F5cygiQ291bGQgbm90IGdlbmVyYXRlIGEga2V5IHBhaXIsIHN0YXR1cyAl
ZCIsIHN0YXR1cyk7Ci0gICAgICAgICAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0Ojpwb3N0VGFz
a1RvKGNvbnRleHRJZGVudGlmaWVyLCBbbG9jYWxDYWxsYmFjaywgbG9jYWxGYWlsdXJlQ2FsbGJh
Y2tdKGF1dG8mKSB7Ci0gICAgICAgICAgICAgICAgKCpsb2NhbEZhaWx1cmVDYWxsYmFjaykoKTsK
LSAgICAgICAgICAgICAgICBkZWxldGUgbG9jYWxDYWxsYmFjazsKLSAgICAgICAgICAgICAgICBk
ZWxldGUgbG9jYWxGYWlsdXJlQ2FsbGJhY2s7CisgICAgICAgICAgICBTY3JpcHRFeGVjdXRpb25D
b250ZXh0Ojpwb3N0VGFza1RvKGNvbnRleHRJZGVudGlmaWVyLCBbY2FsbGJhY2sgPSBXVEZNb3Zl
KGJsb2NrQ2FsbGJhY2spLCBmYWlsdXJlQ2FsbGJhY2sgPSBXVEZNb3ZlKGJsb2NrRmFpbHVyZUNh
bGxiYWNrKV0oYXV0byYpIG11dGFibGUgeworICAgICAgICAgICAgICAgIGZhaWx1cmVDYWxsYmFj
aygpOwogICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KLSAg
ICAgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDo6cG9zdFRhc2tUbyhjb250ZXh0SWRlbnRpZmll
ciwgW2FsZ29yaXRobSwgaGFzaCwgaGFzSGFzaCwgZXh0cmFjdGFibGUsIHVzYWdlLCBsb2NhbENh
bGxiYWNrLCBsb2NhbEZhaWx1cmVDYWxsYmFjaywgY2NQdWJsaWNLZXkgPSBQbGF0Zm9ybVJTQUtl
eUNvbnRhaW5lcihjY1B1YmxpY0tleSksIGNjUHJpdmF0ZUtleSA9IFBsYXRmb3JtUlNBS2V5Q29u
dGFpbmVyKGNjUHJpdmF0ZUtleSldKGF1dG8mKSBtdXRhYmxlIHsKKyAgICAgICAgU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dDo6cG9zdFRhc2tUbyhjb250ZXh0SWRlbnRpZmllciwgW2FsZ29yaXRobSwg
aGFzaCwgaGFzSGFzaCwgZXh0cmFjdGFibGUsIHVzYWdlLCBjYWxsYmFjayA9IFdURk1vdmUoYmxv
Y2tDYWxsYmFjayksIGZhaWx1cmVDYWxsYmFjayA9IFdURk1vdmUoYmxvY2tGYWlsdXJlQ2FsbGJh
Y2spLCBjY1B1YmxpY0tleSA9IFBsYXRmb3JtUlNBS2V5Q29udGFpbmVyKGNjUHVibGljS2V5KSwg
Y2NQcml2YXRlS2V5ID0gUGxhdGZvcm1SU0FLZXlDb250YWluZXIoY2NQcml2YXRlS2V5KV0oYXV0
byYpIG11dGFibGUgewogICAgICAgICAgICAgYXV0byBwdWJsaWNLZXkgPSBDcnlwdG9LZXlSU0E6
OmNyZWF0ZShhbGdvcml0aG0sIGhhc2gsIGhhc0hhc2gsIENyeXB0b0tleVR5cGU6OlB1YmxpYywg
V1RGTW92ZShjY1B1YmxpY0tleSksIHRydWUsIHVzYWdlKTsKICAgICAgICAgICAgIGF1dG8gcHJp
dmF0ZUtleSA9IENyeXB0b0tleVJTQTo6Y3JlYXRlKGFsZ29yaXRobSwgaGFzaCwgaGFzSGFzaCwg
Q3J5cHRvS2V5VHlwZTo6UHJpdmF0ZSwgV1RGTW92ZShjY1ByaXZhdGVLZXkpLCBleHRyYWN0YWJs
ZSwgdXNhZ2UpOwogCi0gICAgICAgICAgICAoKmxvY2FsQ2FsbGJhY2spKENyeXB0b0tleVBhaXIg
eyBXVEZNb3ZlKHB1YmxpY0tleSksIFdURk1vdmUocHJpdmF0ZUtleSkgfSk7Ci0KLSAgICAgICAg
ICAgIGRlbGV0ZSBsb2NhbENhbGxiYWNrOwotICAgICAgICAgICAgZGVsZXRlIGxvY2FsRmFpbHVy
ZUNhbGxiYWNrOworICAgICAgICAgICAgY2FsbGJhY2soQ3J5cHRvS2V5UGFpciB7IFdURk1vdmUo
cHVibGljS2V5KSwgV1RGTW92ZShwcml2YXRlS2V5KSB9KTsKICAgICAgICAgfSk7CiAgICAgfSk7
CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>358463</attachid>
            <date>2019-01-06 11:16:04 -0800</date>
            <delta_ts>2019-01-06 18:05:52 -0800</delta_ts>
            <desc>Patch v2</desc>
            <filename>bug-193177-20190106111603.patch</filename>
            <type>text/plain</type>
            <size>4784</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM5MzY3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGJhNWFmNDg4OGFhNGJm
OWQxNDg0NGNjOWZhZjNhY2NjMzZmYTg0MS4uNWY2NDczZTJlYmU0NDllYjEyMzBjZWIxODI3Mjcy
YmVlMGYwZDI5NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDE5LTAxLTA2ICBEYXZp
ZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CisKKyAgICAgICAgTGVhayBvZiBXVEY6OkZ1
bmN0aW9uIG9iamVjdHMgaW4gV2ViQ29yZTo6Q3J5cHRvS2V5UlNBOjpnZW5lcmF0ZVBhaXIoKSAo
NjQtODAgYnl0ZXMgZWFjaCkgaW4gY29tLmFwcGxlLldlYktpdC5XZWJDb250ZW50IHJ1bm5pbmcg
V2ViS2l0IGxheW91dCB0ZXN0cworICAgICAgICA8aHR0cHM6Ly93ZWJraXQub3JnL2IvMTkzMTc3
PgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDcwNzIxOTY+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBjcnlwdG8vbWFjL0NyeXB0b0tleVJTQU1h
Yy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDcnlwdG9LZXlSU0E6OmdlbmVyYXRlUGFpcik6IEZp
eCB0aGUgbGVhayBieSBjaGFuZ2luZworICAgICAgICByYXcgcG9pbnRlcnMgdG8gaGVhcC1hbGxv
Y2F0ZWQgX19ibG9jayB2YXJpYWJsZXMgdG8gaG9sZCB0aGUKKyAgICAgICAgV1RGOjpGdW5jdGlv
biBvYmplY3RzIHVudGlsIHRoZXkgYXJlIGNvbnN1bWVkIHdpdGhpbiB0aGUgYmxvY2sKKyAgICAg
ICAgcGFzc2VkIHRvIGRpc3BhdGNoX2FzeW5jKCkuICBUaGUgX19ibG9jayB2YXJpYWJsZXMgYWN0
IGxpa2UKKyAgICAgICAgY2FwdHVyZWQgdmFyaWFibGVzIGluIGEgQysrIGxhbWJkYSBhbmQgaGF2
ZSB0aGUgc2FtZSBsaWZldGltZSBhcworICAgICAgICB0aGUgYmxvY2sgdGhhdCB0aGV5IGFyZSBj
YXB0dXJlZCBpbi4gIE5vdGUgdGhhdCB3ZSB3b3VsZCBoYXZlIHRvCisgICAgICAgIGNvbnZlcnQg
dGhlIHNvdXJjZSBmaWxlIGZyb20gQysrIHRvIE9iamVjdGl2ZS1DKysgdG8gdXNlIGEgQysrCisg
ICAgICAgIGxhbWJkYSBmdW5jdG9yIHdpdGggZGlzcGF0Y2hfYXN5bmMoKSwgd2hpY2ggY3JlYXRl
cyBpdHMgb3duCisgICAgICAgIGlzc3VlIGJlY2F1c2UgdGhlIGNvbWlwaWxlciByZXF1aXJlcyBh
IGNvcHkgY29uc3RydWN0b3IgdG8KKyAgICAgICAgY29udmVydCB0aGUgQysrIGxhbWJkYSB0byBh
IGJsb2NrIGZ1bmN0b3IsIGJ1dCB0aGUgY29weQorICAgICAgICBjb25zdHJ1Y3RvciBmb3IgdGhl
IEMrKyBsYW1iZGEgaXMgaW1wbGljaXRseSBkZWxldGVkIGJlY2F1c2UgdGhlCisgICAgICAgIFdU
Rjo6RnVuY3Rpb24gY29weSBjb25zdHJ1Y3RvciBpcyBleHBsaWNpdGx5IGRlbGV0ZWQuICBXaGV3
IQorCiAyMDE5LTAxLTA0ICBEYXZpZCBLaWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CiAKICAg
ICAgICAgTGVhayBvZiB0d28gQ0NSU0FDcnlwdG9yUmVmICg0LjAgS2J5dGVzLzEgcGFnZSBlYWNo
KSBpbiBjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQgcnVubmluZyBXZWJLaXQgbGF5b3V0IHRl
c3RzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vbWFjL0NyeXB0b0tleVJTQU1h
Yy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jcnlwdG8vbWFjL0NyeXB0b0tleVJTQU1hYy5jcHAKaW5k
ZXggZmYzNWY5OWNhYTEzYTBhNzA3NTNkMzdiYTgzZGJjZGU5OTc3ZmE0Yy4uODRkNGU0YmVhOWUw
MzE2ZmVlNDY4ODg3NDYyOGQ3MDFjMjdmYjk5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3J5cHRvL21hYy9DcnlwdG9LZXlSU0FNYWMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2NyeXB0
by9tYWMvQ3J5cHRvS2V5UlNBTWFjLmNwcApAQCAtMzAxLDM0ICszMDEsMjUgQEAgdm9pZCBDcnlw
dG9LZXlSU0E6OmdlbmVyYXRlUGFpcihDcnlwdG9BbGdvcml0aG1JZGVudGlmaWVyIGFsZ29yaXRo
bSwgQ3J5cHRvQWxnb3IKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIC8vIFdlIG9ubHkg
dXNlIHRoZSBjYWxsYmFjayBmdW5jdGlvbnMgd2hlbiBiYWNrIG9uIHRoZSBtYWluL3dvcmtlciB0
aHJlYWQsIGJ1dCBjYXB0dXJlZCB2YXJpYWJsZXMgYXJlIGNvcGllZCBvbiBhIHNlY29uZGFyeSB0
aHJlYWQgdG9vLgotICAgIEtleVBhaXJDYWxsYmFjayogbG9jYWxDYWxsYmFjayA9IG5ldyBLZXlQ
YWlyQ2FsbGJhY2soV1RGTW92ZShjYWxsYmFjaykpOwotICAgIFZvaWRDYWxsYmFjayogbG9jYWxG
YWlsdXJlQ2FsbGJhY2sgPSBuZXcgVm9pZENhbGxiYWNrKFdURk1vdmUoZmFpbHVyZUNhbGxiYWNr
KSk7CisgICAgX19ibG9jayBhdXRvIGJsb2NrQ2FsbGJhY2soV1RGTW92ZShjYWxsYmFjaykpOwor
ICAgIF9fYmxvY2sgYXV0byBibG9ja0ZhaWx1cmVDYWxsYmFjayhXVEZNb3ZlKGZhaWx1cmVDYWxs
YmFjaykpOwogICAgIGF1dG8gY29udGV4dElkZW50aWZpZXIgPSBjb250ZXh0LT5jb250ZXh0SWRl
bnRpZmllcigpOwotCi0gICAgLy8gRklYTUU6IFRoZXJlIGlzIGEgcmlzayB0aGF0IGxvY2FsQ2Fs
bGJhY2sgYW5kIGxvY2FsRmFpbHVyZUNhbGxiYWNrIGFyZSBuZXZlciBmcmVlZC4KLSAgICAvLyBG
aXggdGhpcyBieSB1c2luZyB1bmlxdWUgcG9pbnRlcnMgYW5kIG1vdmUgdGhlbSBmcm9tIG9uZSBs
YW1iZGEgdG8gdGhlIG90aGVyLgogICAgIGRpc3BhdGNoX2FzeW5jKGRpc3BhdGNoX2dldF9nbG9i
YWxfcXVldWUoRElTUEFUQ0hfUVVFVUVfUFJJT1JJVFlfREVGQVVMVCwgMCksIF57CiAgICAgICAg
IENDUlNBQ3J5cHRvclJlZiBjY1B1YmxpY0tleSA9IG51bGxwdHI7CiAgICAgICAgIENDUlNBQ3J5
cHRvclJlZiBjY1ByaXZhdGVLZXkgPSBudWxscHRyOwogICAgICAgICBDQ0NyeXB0b3JTdGF0dXMg
c3RhdHVzID0gQ0NSU0FDcnlwdG9yR2VuZXJhdGVQYWlyKG1vZHVsdXNMZW5ndGgsIGUsICZjY1B1
YmxpY0tleSwgJmNjUHJpdmF0ZUtleSk7CiAgICAgICAgIGlmIChzdGF0dXMpIHsKICAgICAgICAg
ICAgIFdURkxvZ0Fsd2F5cygiQ291bGQgbm90IGdlbmVyYXRlIGEga2V5IHBhaXIsIHN0YXR1cyAl
ZCIsIHN0YXR1cyk7Ci0gICAgICAgICAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0Ojpwb3N0VGFz
a1RvKGNvbnRleHRJZGVudGlmaWVyLCBbbG9jYWxDYWxsYmFjaywgbG9jYWxGYWlsdXJlQ2FsbGJh
Y2tdKGF1dG8mKSB7Ci0gICAgICAgICAgICAgICAgKCpsb2NhbEZhaWx1cmVDYWxsYmFjaykoKTsK
LSAgICAgICAgICAgICAgICBkZWxldGUgbG9jYWxDYWxsYmFjazsKLSAgICAgICAgICAgICAgICBk
ZWxldGUgbG9jYWxGYWlsdXJlQ2FsbGJhY2s7CisgICAgICAgICAgICBTY3JpcHRFeGVjdXRpb25D
b250ZXh0Ojpwb3N0VGFza1RvKGNvbnRleHRJZGVudGlmaWVyLCBbY2FsbGJhY2sgPSBXVEZNb3Zl
KGJsb2NrQ2FsbGJhY2spLCBmYWlsdXJlQ2FsbGJhY2sgPSBXVEZNb3ZlKGJsb2NrRmFpbHVyZUNh
bGxiYWNrKV0oYXV0byYpIHsKKyAgICAgICAgICAgICAgICBmYWlsdXJlQ2FsbGJhY2soKTsKICAg
ICAgICAgICAgIH0pOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9Ci0gICAgICAgIFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQ6OnBvc3RUYXNrVG8oY29udGV4dElkZW50aWZpZXIsIFthbGdv
cml0aG0sIGhhc2gsIGhhc0hhc2gsIGV4dHJhY3RhYmxlLCB1c2FnZSwgbG9jYWxDYWxsYmFjaywg
bG9jYWxGYWlsdXJlQ2FsbGJhY2ssIGNjUHVibGljS2V5ID0gUGxhdGZvcm1SU0FLZXlDb250YWlu
ZXIoY2NQdWJsaWNLZXkpLCBjY1ByaXZhdGVLZXkgPSBQbGF0Zm9ybVJTQUtleUNvbnRhaW5lcihj
Y1ByaXZhdGVLZXkpXShhdXRvJikgbXV0YWJsZSB7CisgICAgICAgIFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQ6OnBvc3RUYXNrVG8oY29udGV4dElkZW50aWZpZXIsIFthbGdvcml0aG0sIGhhc2gsIGhh
c0hhc2gsIGV4dHJhY3RhYmxlLCB1c2FnZSwgY2FsbGJhY2sgPSBXVEZNb3ZlKGJsb2NrQ2FsbGJh
Y2spLCBmYWlsdXJlQ2FsbGJhY2sgPSBXVEZNb3ZlKGJsb2NrRmFpbHVyZUNhbGxiYWNrKSwgY2NQ
dWJsaWNLZXkgPSBQbGF0Zm9ybVJTQUtleUNvbnRhaW5lcihjY1B1YmxpY0tleSksIGNjUHJpdmF0
ZUtleSA9IFBsYXRmb3JtUlNBS2V5Q29udGFpbmVyKGNjUHJpdmF0ZUtleSldKGF1dG8mKSBtdXRh
YmxlIHsKICAgICAgICAgICAgIGF1dG8gcHVibGljS2V5ID0gQ3J5cHRvS2V5UlNBOjpjcmVhdGUo
YWxnb3JpdGhtLCBoYXNoLCBoYXNIYXNoLCBDcnlwdG9LZXlUeXBlOjpQdWJsaWMsIFdURk1vdmUo
Y2NQdWJsaWNLZXkpLCB0cnVlLCB1c2FnZSk7CiAgICAgICAgICAgICBhdXRvIHByaXZhdGVLZXkg
PSBDcnlwdG9LZXlSU0E6OmNyZWF0ZShhbGdvcml0aG0sIGhhc2gsIGhhc0hhc2gsIENyeXB0b0tl
eVR5cGU6OlByaXZhdGUsIFdURk1vdmUoY2NQcml2YXRlS2V5KSwgZXh0cmFjdGFibGUsIHVzYWdl
KTsKIAotICAgICAgICAgICAgKCpsb2NhbENhbGxiYWNrKShDcnlwdG9LZXlQYWlyIHsgV1RGTW92
ZShwdWJsaWNLZXkpLCBXVEZNb3ZlKHByaXZhdGVLZXkpIH0pOwotCi0gICAgICAgICAgICBkZWxl
dGUgbG9jYWxDYWxsYmFjazsKLSAgICAgICAgICAgIGRlbGV0ZSBsb2NhbEZhaWx1cmVDYWxsYmFj
azsKKyAgICAgICAgICAgIGNhbGxiYWNrKENyeXB0b0tleVBhaXIgeyBXVEZNb3ZlKHB1YmxpY0tl
eSksIFdURk1vdmUocHJpdmF0ZUtleSkgfSk7CiAgICAgICAgIH0pOwogICAgIH0pOwogfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>