<?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>163011</bug_id>
          
          <creation_ts>2016-10-06 06:49:11 -0700</creation_ts>
          <short_desc>[GTK] UIProcess crashes when using Japanese IM</short_desc>
          <delta_ts>2016-10-10 00:15:15 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKitGTK</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugzilla.redhat.com/show_bug.cgi?id=1381603</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>163116</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tomas Popela">tpopela</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>berto</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>gustavo</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>mrobinson</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1237045</commentid>
    <comment_count>0</comment_count>
    <who name="Tomas Popela">tpopela</who>
    <bug_when>2016-10-06 06:49:11 -0700</bug_when>
    <thetext>When writing any content with Japanese IM activated (ie. in the inspector&apos;s console, or in the contenteditable element), the UIProcess crashes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1237050</commentid>
    <comment_count>1</comment_count>
      <attachid>290822</attachid>
    <who name="Tomas Popela">tpopela</who>
    <bug_when>2016-10-06 06:57:49 -0700</bug_when>
    <thetext>Created attachment 290822
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1237051</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-06 06:59:21 -0700</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1237053</commentid>
    <comment_count>3</comment_count>
      <attachid>290822</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-10-06 07:29:39 -0700</bug_when>
    <thetext>Comment on attachment 290822
Proposed patch

(Leaving cq+ for Carlos)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1237065</commentid>
    <comment_count>4</comment_count>
      <attachid>290822</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-10-06 08:24:22 -0700</bug_when>
    <thetext>Comment on attachment 290822
Proposed patch

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

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp:709
&gt; +    // We need to copy the event as otherwise it could be destroyed before we
&gt; +    // reach the lambda body.

This could be a single line.

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp:710
&gt; +    GdkEvent* event = gdk_event_copy(reinterpret_cast&lt;GdkEvent*&gt;(keyEvent));

GUniquePtr&lt;GdkEvent&gt; event(gdk_event_copy(reinterpret_cast&lt;GdkEvent*&gt;(keyEvent)));

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp:711
&gt; +    priv-&gt;inputMethodFilter.filterKeyEvent(&amp;event-&gt;key, [priv, event](const WebCore::CompositionResults&amp; compositionResults, InputMethodFilter::EventFakedForComposition faked) {

[priv, event = WTFMove(event)]

With this, the lambda takes the ownership and you don&apos;t need to call gdk_event_free(). Maybe it&apos;s better to call this keyEvent and then you don&apos;t have to rename all other cases.

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp:733
&gt; +    // We need to copy the event as otherwise it could be destroyed before we
&gt; +    // reach the lambda body.
&gt; +    GdkEvent* event = gdk_event_copy(reinterpret_cast&lt;GdkEvent*&gt;(keyEvent));
&gt; +    priv-&gt;inputMethodFilter.filterKeyEvent(&amp;event-&gt;key, [priv, event](const WebCore::CompositionResults&amp; compositionResults, InputMethodFilter::EventFakedForComposition faked) {

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1237068</commentid>
    <comment_count>5</comment_count>
    <who name="Tomas Popela">tpopela</who>
    <bug_when>2016-10-06 08:30:42 -0700</bug_when>
    <thetext>Thank you Carlos for the feedback!

(In reply to comment #4)
&gt; Maybe it&apos;s better to call this keyEvent and then you don&apos;t
&gt; have to rename all other cases.

I would rename it as we don&apos;t want to have a GdkEventKey event and GdkEvent keyEvent..</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1237550</commentid>
    <comment_count>6</comment_count>
      <attachid>290920</attachid>
    <who name="Tomas Popela">tpopela</who>
    <bug_when>2016-10-07 03:57:24 -0700</bug_when>
    <thetext>Created attachment 290920
Fix review comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1237566</commentid>
    <comment_count>7</comment_count>
      <attachid>290920</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-07 05:06:52 -0700</bug_when>
    <thetext>Comment on attachment 290920
Fix review comments

Clearing flags on attachment: 290920

Committed r206909: &lt;http://trac.webkit.org/changeset/206909&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1237567</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-07 05:06:56 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1237620</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-07 09:39:09 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 163116</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1237628</commentid>
    <comment_count>10</comment_count>
      <attachid>290920</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2016-10-07 09:43:31 -0700</bug_when>
    <thetext>Comment on attachment 290920
Fix review comments

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

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp:710
&gt; +    priv-&gt;inputMethodFilter.filterKeyEvent(&amp;event-&gt;key, [priv, event = WTFMove(event)](const WebCore::CompositionResults&amp; compositionResults, InputMethodFilter::EventFakedForComposition faked) {

You can use event-&gt;key here, because even has already been moved to the lambda, use keyEvent instead.

&gt; Source/WebKit2/UIProcess/API/gtk/WebKitWebViewBase.cpp:730
&gt; +    priv-&gt;inputMethodFilter.filterKeyEvent(&amp;event-&gt;key, [priv, event = WTFMove(event)](const WebCore::CompositionResults&amp; compositionResults, InputMethodFilter::EventFakedForComposition faked) {

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1238183</commentid>
    <comment_count>11</comment_count>
      <attachid>291063</attachid>
    <who name="Tomas Popela">tpopela</who>
    <bug_when>2016-10-09 22:40:35 -0700</bug_when>
    <thetext>Created attachment 291063
Fix crash

Fix the crash that was found by Carlos (thank you).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1238203</commentid>
    <comment_count>12</comment_count>
      <attachid>291063</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-10 00:15:10 -0700</bug_when>
    <thetext>Comment on attachment 291063
Fix crash

Clearing flags on attachment: 291063

Committed r206985: &lt;http://trac.webkit.org/changeset/206985&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1238204</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-10 00:15:15 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>290822</attachid>
            <date>2016-10-06 06:57:49 -0700</date>
            <delta_ts>2016-10-07 03:57:14 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>bug-163011-20161006155435.patch</filename>
            <type>text/plain</type>
            <size>5277</size>
            <attacher name="Tomas Popela">tpopela</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA2ODYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZmI3MDhhY2QxZjUwZjdm
ZTVmZGU4MTljZDQyNzNmYmQ0NmFkOTQyYS4uZDBkMTNjOTM2MjFmNzNlZDRjODM5YjVmNTAxYzI0
NzQ5MjFmN2JkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE2LTEwLTA2ICBUb21h
cyBQb3BlbGEgIDx0cG9wZWxhQHJlZGhhdC5jb20+CisKKyAgICAgICAgW0dUS10gVUlQcm9jZXNz
IGNyYXNoZXMgd2hlbiB1c2luZyBKYXBhbmVzZSBJTQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYzMDExCisKKyAgICAgICAgV2UgaGF2ZSB0byByZWZl
cmVuY2UgdGhlIGN1cnJlbnQgR2RrRXZlbnRLZXkgYmVmb3JlIHdlIHRyeSBwcm9jZXNzIGl0Cisg
ICAgICAgIGFzIGxhdGVyIHdoZW4gdGhlIGxhbWJkYSBib2R5IGlzIHJlYWNoZWQgdGhlIGV2ZW50
IGNvdWxkIGJlIGFscmVhZHkKKyAgICAgICAgZnJlZWQuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJW
aWV3QmFzZS5jcHA6CisgICAgICAgICh3ZWJraXRXZWJWaWV3QmFzZUtleVByZXNzRXZlbnQpOgor
ICAgICAgICAod2Via2l0V2ViVmlld0Jhc2VLZXlSZWxlYXNlRXZlbnQpOgorCiAyMDE2LTEwLTA2
ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBbV0syXSAzMDQg
cmV2YWxpZGF0aW9uIG9uIHRoZSBuZXR3b3JrIHByb2Nlc3MgZG9lcyBub3QgdXBkYXRlIHRoZSB2
YWxpZGF0ZWQgcmVzcG9uc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcAppbmRleCA1YTgwNTU5NjBhMGY2ZjI2ODA1YjE0
N2M4OTY2NWM1YWY3ZmQ1MDgxLi5mNWU3MTE5NDAzOTUxMzAxNDU4MDkyYzZkZDhiNWJjNmQ5YWJl
ODQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRX
ZWJWaWV3QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2Vi
S2l0V2ViVmlld0Jhc2UuY3BwCkBAIC02NzQsMTcgKzY3NCwxNyBAQCBzdGF0aWMgZ2Jvb2xlYW4g
d2Via2l0V2ViVmlld0Jhc2VGb2N1c091dEV2ZW50KEd0a1dpZGdldCogd2lkZ2V0LCBHZGtFdmVu
dEZvY3VzKgogICAgIHJldHVybiBHVEtfV0lER0VUX0NMQVNTKHdlYmtpdF93ZWJfdmlld19iYXNl
X3BhcmVudF9jbGFzcyktPmZvY3VzX291dF9ldmVudCh3aWRnZXQsIGV2ZW50KTsKIH0KIAotc3Rh
dGljIGdib29sZWFuIHdlYmtpdFdlYlZpZXdCYXNlS2V5UHJlc3NFdmVudChHdGtXaWRnZXQqIHdp
ZGdldCwgR2RrRXZlbnRLZXkqIGV2ZW50KQorc3RhdGljIGdib29sZWFuIHdlYmtpdFdlYlZpZXdC
YXNlS2V5UHJlc3NFdmVudChHdGtXaWRnZXQqIHdpZGdldCwgR2RrRXZlbnRLZXkqIGtleUV2ZW50
KQogewogICAgIFdlYktpdFdlYlZpZXdCYXNlKiB3ZWJWaWV3QmFzZSA9IFdFQktJVF9XRUJfVklF
V19CQVNFKHdpZGdldCk7CiAgICAgV2ViS2l0V2ViVmlld0Jhc2VQcml2YXRlKiBwcml2ID0gd2Vi
Vmlld0Jhc2UtPnByaXY7CiAKICAgICBpZiAocHJpdi0+YXV0aGVudGljYXRpb25EaWFsb2cpCi0g
ICAgICAgIHJldHVybiBHVEtfV0lER0VUX0NMQVNTKHdlYmtpdF93ZWJfdmlld19iYXNlX3BhcmVu
dF9jbGFzcyktPmtleV9wcmVzc19ldmVudCh3aWRnZXQsIGV2ZW50KTsKKyAgICAgICAgcmV0dXJu
IEdUS19XSURHRVRfQ0xBU1Mod2Via2l0X3dlYl92aWV3X2Jhc2VfcGFyZW50X2NsYXNzKS0+a2V5
X3ByZXNzX2V2ZW50KHdpZGdldCwga2V5RXZlbnQpOwogCiAjaWYgRU5BQkxFKEZVTExTQ1JFRU5f
QVBJKQogICAgIGlmIChwcml2LT5mdWxsU2NyZWVuTW9kZUFjdGl2ZSkgewotICAgICAgICBzd2l0
Y2ggKGV2ZW50LT5rZXl2YWwpIHsKKyAgICAgICAgc3dpdGNoIChrZXlFdmVudC0+a2V5dmFsKSB7
CiAgICAgICAgIGNhc2UgR0RLX0tFWV9Fc2NhcGU6CiAgICAgICAgIGNhc2UgR0RLX0tFWV9mOgog
ICAgICAgICBjYXNlIEdES19LRVlfRjoKQEAgLTcwMiwyOSArNzAyLDM3IEBAIHN0YXRpYyBnYm9v
bGVhbiB3ZWJraXRXZWJWaWV3QmFzZUtleVByZXNzRXZlbnQoR3RrV2lkZ2V0KiB3aWRnZXQsIEdk
a0V2ZW50S2V5KiBlCiAgICAgLy8gdXNpbmcgZ3RrX21haW5fZG9fZXZlbnQoKS4KICAgICBpZiAo
cHJpdi0+c2hvdWxkRm9yd2FyZE5leHRLZXlFdmVudCkgewogICAgICAgICBwcml2LT5zaG91bGRG
b3J3YXJkTmV4dEtleUV2ZW50ID0gRkFMU0U7Ci0gICAgICAgIHJldHVybiBHVEtfV0lER0VUX0NM
QVNTKHdlYmtpdF93ZWJfdmlld19iYXNlX3BhcmVudF9jbGFzcyktPmtleV9wcmVzc19ldmVudCh3
aWRnZXQsIGV2ZW50KTsKKyAgICAgICAgcmV0dXJuIEdUS19XSURHRVRfQ0xBU1Mod2Via2l0X3dl
Yl92aWV3X2Jhc2VfcGFyZW50X2NsYXNzKS0+a2V5X3ByZXNzX2V2ZW50KHdpZGdldCwga2V5RXZl
bnQpOwogICAgIH0KIAotICAgIHByaXYtPmlucHV0TWV0aG9kRmlsdGVyLmZpbHRlcktleUV2ZW50
KGV2ZW50LCBbcHJpdiwgZXZlbnRdKGNvbnN0IFdlYkNvcmU6OkNvbXBvc2l0aW9uUmVzdWx0cyYg
Y29tcG9zaXRpb25SZXN1bHRzLCBJbnB1dE1ldGhvZEZpbHRlcjo6RXZlbnRGYWtlZEZvckNvbXBv
c2l0aW9uIGZha2VkKSB7Ci0gICAgICAgIHByaXYtPnBhZ2VQcm94eS0+aGFuZGxlS2V5Ym9hcmRF
dmVudChOYXRpdmVXZWJLZXlib2FyZEV2ZW50KHJlaW50ZXJwcmV0X2Nhc3Q8R2RrRXZlbnQqPihl
dmVudCksIGNvbXBvc2l0aW9uUmVzdWx0cywgZmFrZWQsCi0gICAgICAgICAgICAhY29tcG9zaXRp
b25SZXN1bHRzLmNvbXBvc2l0aW9uVXBkYXRlZCgpID8gcHJpdi0+a2V5QmluZGluZ1RyYW5zbGF0
b3IuY29tbWFuZHNGb3JLZXlFdmVudChldmVudCkgOiBWZWN0b3I8U3RyaW5nPigpKSk7CisgICAg
Ly8gV2UgbmVlZCB0byBjb3B5IHRoZSBldmVudCBhcyBvdGhlcndpc2UgaXQgY291bGQgYmUgZGVz
dHJveWVkIGJlZm9yZSB3ZQorICAgIC8vIHJlYWNoIHRoZSBsYW1iZGEgYm9keS4KKyAgICBHZGtF
dmVudCogZXZlbnQgPSBnZGtfZXZlbnRfY29weShyZWludGVycHJldF9jYXN0PEdka0V2ZW50Kj4o
a2V5RXZlbnQpKTsKKyAgICBwcml2LT5pbnB1dE1ldGhvZEZpbHRlci5maWx0ZXJLZXlFdmVudCgm
ZXZlbnQtPmtleSwgW3ByaXYsIGV2ZW50XShjb25zdCBXZWJDb3JlOjpDb21wb3NpdGlvblJlc3Vs
dHMmIGNvbXBvc2l0aW9uUmVzdWx0cywgSW5wdXRNZXRob2RGaWx0ZXI6OkV2ZW50RmFrZWRGb3JD
b21wb3NpdGlvbiBmYWtlZCkgeworICAgICAgICBwcml2LT5wYWdlUHJveHktPmhhbmRsZUtleWJv
YXJkRXZlbnQoTmF0aXZlV2ViS2V5Ym9hcmRFdmVudChldmVudCwgY29tcG9zaXRpb25SZXN1bHRz
LCBmYWtlZCwKKyAgICAgICAgICAgICFjb21wb3NpdGlvblJlc3VsdHMuY29tcG9zaXRpb25VcGRh
dGVkKCkgPyBwcml2LT5rZXlCaW5kaW5nVHJhbnNsYXRvci5jb21tYW5kc0ZvcktleUV2ZW50KCZl
dmVudC0+a2V5KSA6IFZlY3RvcjxTdHJpbmc+KCkpKTsKKyAgICAgICAgZ2RrX2V2ZW50X2ZyZWUo
ZXZlbnQpOwogICAgIH0pOwogCiAgICAgcmV0dXJuIFRSVUU7CiB9CiAKLXN0YXRpYyBnYm9vbGVh
biB3ZWJraXRXZWJWaWV3QmFzZUtleVJlbGVhc2VFdmVudChHdGtXaWRnZXQqIHdpZGdldCwgR2Rr
RXZlbnRLZXkqIGV2ZW50KQorc3RhdGljIGdib29sZWFuIHdlYmtpdFdlYlZpZXdCYXNlS2V5UmVs
ZWFzZUV2ZW50KEd0a1dpZGdldCogd2lkZ2V0LCBHZGtFdmVudEtleSoga2V5RXZlbnQpCiB7CiAg
ICAgV2ViS2l0V2ViVmlld0Jhc2UqIHdlYlZpZXdCYXNlID0gV0VCS0lUX1dFQl9WSUVXX0JBU0Uo
d2lkZ2V0KTsKICAgICBXZWJLaXRXZWJWaWV3QmFzZVByaXZhdGUqIHByaXYgPSB3ZWJWaWV3QmFz
ZS0+cHJpdjsKIAogICAgIGlmIChwcml2LT5zaG91bGRGb3J3YXJkTmV4dEtleUV2ZW50KSB7CiAg
ICAgICAgIHByaXYtPnNob3VsZEZvcndhcmROZXh0S2V5RXZlbnQgPSBGQUxTRTsKLSAgICAgICAg
cmV0dXJuIEdUS19XSURHRVRfQ0xBU1Mod2Via2l0X3dlYl92aWV3X2Jhc2VfcGFyZW50X2NsYXNz
KS0+a2V5X3JlbGVhc2VfZXZlbnQod2lkZ2V0LCBldmVudCk7CisgICAgICAgIHJldHVybiBHVEtf
V0lER0VUX0NMQVNTKHdlYmtpdF93ZWJfdmlld19iYXNlX3BhcmVudF9jbGFzcyktPmtleV9yZWxl
YXNlX2V2ZW50KHdpZGdldCwga2V5RXZlbnQpOwogICAgIH0KIAotICAgIHByaXYtPmlucHV0TWV0
aG9kRmlsdGVyLmZpbHRlcktleUV2ZW50KGV2ZW50LCBbcHJpdiwgZXZlbnRdKGNvbnN0IFdlYkNv
cmU6OkNvbXBvc2l0aW9uUmVzdWx0cyYgY29tcG9zaXRpb25SZXN1bHRzLCBJbnB1dE1ldGhvZEZp
bHRlcjo6RXZlbnRGYWtlZEZvckNvbXBvc2l0aW9uIGZha2VkKSB7Ci0gICAgICAgIHByaXYtPnBh
Z2VQcm94eS0+aGFuZGxlS2V5Ym9hcmRFdmVudChOYXRpdmVXZWJLZXlib2FyZEV2ZW50KHJlaW50
ZXJwcmV0X2Nhc3Q8R2RrRXZlbnQqPihldmVudCksIGNvbXBvc2l0aW9uUmVzdWx0cywgZmFrZWQs
IHsgfSkpOworICAgIC8vIFdlIG5lZWQgdG8gY29weSB0aGUgZXZlbnQgYXMgb3RoZXJ3aXNlIGl0
IGNvdWxkIGJlIGRlc3Ryb3llZCBiZWZvcmUgd2UKKyAgICAvLyByZWFjaCB0aGUgbGFtYmRhIGJv
ZHkuCisgICAgR2RrRXZlbnQqIGV2ZW50ID0gZ2RrX2V2ZW50X2NvcHkocmVpbnRlcnByZXRfY2Fz
dDxHZGtFdmVudCo+KGtleUV2ZW50KSk7CisgICAgcHJpdi0+aW5wdXRNZXRob2RGaWx0ZXIuZmls
dGVyS2V5RXZlbnQoJmV2ZW50LT5rZXksIFtwcml2LCBldmVudF0oY29uc3QgV2ViQ29yZTo6Q29t
cG9zaXRpb25SZXN1bHRzJiBjb21wb3NpdGlvblJlc3VsdHMsIElucHV0TWV0aG9kRmlsdGVyOjpF
dmVudEZha2VkRm9yQ29tcG9zaXRpb24gZmFrZWQpIHsKKyAgICAgICAgcHJpdi0+cGFnZVByb3h5
LT5oYW5kbGVLZXlib2FyZEV2ZW50KE5hdGl2ZVdlYktleWJvYXJkRXZlbnQoZXZlbnQsIGNvbXBv
c2l0aW9uUmVzdWx0cywgZmFrZWQsIHsgfSkpOworICAgICAgICBnZGtfZXZlbnRfZnJlZShldmVu
dCk7CiAgICAgfSk7CiAKICAgICByZXR1cm4gVFJVRTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>290920</attachid>
            <date>2016-10-07 03:57:24 -0700</date>
            <delta_ts>2016-10-09 22:40:25 -0700</delta_ts>
            <desc>Fix review comments</desc>
            <filename>bug-163011-20161007125408.patch</filename>
            <type>text/plain</type>
            <size>6487</size>
            <attacher name="Tomas Popela">tpopela</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA2ODYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZmI3MDhhY2QxZjUwZjdm
ZTVmZGU4MTljZDQyNzNmYmQ0NmFkOTQyYS4uZThhOTJhOTZmY2E0ZmViMDI1YWEyNjBiZWRjNjdm
OTIwNzAzMjUzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE2LTEwLTA3ICBUb21h
cyBQb3BlbGEgIDx0cG9wZWxhQHJlZGhhdC5jb20+CisKKyAgICAgICAgW0dUS10gVUlQcm9jZXNz
IGNyYXNoZXMgd2hlbiB1c2luZyBKYXBhbmVzZSBJTQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYzMDExCisKKyAgICAgICAgV2UgaGF2ZSB0byByZWZl
cmVuY2UgdGhlIGN1cnJlbnQgR2RrRXZlbnRLZXkgYmVmb3JlIHdlIHRyeSBwcm9jZXNzIGl0Cisg
ICAgICAgIGFzIGxhdGVyIHdoZW4gdGhlIGxhbWJkYSBib2R5IGlzIHJlYWNoZWQgdGhlIGV2ZW50
IGNvdWxkIGJlIGFscmVhZHkKKyAgICAgICAgZnJlZWQuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJW
aWV3QmFzZS5jcHA6CisgICAgICAgICh3ZWJraXRXZWJWaWV3QmFzZUtleVByZXNzRXZlbnQpOgor
ICAgICAgICAod2Via2l0V2ViVmlld0Jhc2VLZXlSZWxlYXNlRXZlbnQpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9ndGsvSW5wdXRNZXRob2RGaWx0ZXIuaDoKKyAgICAgICAgVXNlIG5vbi1jb3B5YWJs
ZSBGdW5jdGlvbiBzbyB3ZSBjYW4gdXNlIFdURk1vdmUgdG8gcGFzcyB0aGUgZXZlbnQgdG8KKyAg
ICAgICAgbGFtYmRhLgorCiAyMDE2LTEwLTA2ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxl
LmNvbT4KIAogICAgICAgICBbV0syXSAzMDQgcmV2YWxpZGF0aW9uIG9uIHRoZSBuZXR3b3JrIHBy
b2Nlc3MgZG9lcyBub3QgdXBkYXRlIHRoZSB2YWxpZGF0ZWQgcmVzcG9uc2UKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcApp
bmRleCA1YTgwNTU5NjBhMGY2ZjI2ODA1YjE0N2M4OTY2NWM1YWY3ZmQ1MDgxLi4xMDRmOTRjMTI3
ZDljOWYxYjE1ZGFjYmQzNzNjY2QyMmViMjZiYWRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZS5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwCkBAIC02NzQsMTcg
KzY3NCwxNyBAQCBzdGF0aWMgZ2Jvb2xlYW4gd2Via2l0V2ViVmlld0Jhc2VGb2N1c091dEV2ZW50
KEd0a1dpZGdldCogd2lkZ2V0LCBHZGtFdmVudEZvY3VzKgogICAgIHJldHVybiBHVEtfV0lER0VU
X0NMQVNTKHdlYmtpdF93ZWJfdmlld19iYXNlX3BhcmVudF9jbGFzcyktPmZvY3VzX291dF9ldmVu
dCh3aWRnZXQsIGV2ZW50KTsKIH0KIAotc3RhdGljIGdib29sZWFuIHdlYmtpdFdlYlZpZXdCYXNl
S2V5UHJlc3NFdmVudChHdGtXaWRnZXQqIHdpZGdldCwgR2RrRXZlbnRLZXkqIGV2ZW50KQorc3Rh
dGljIGdib29sZWFuIHdlYmtpdFdlYlZpZXdCYXNlS2V5UHJlc3NFdmVudChHdGtXaWRnZXQqIHdp
ZGdldCwgR2RrRXZlbnRLZXkqIGtleUV2ZW50KQogewogICAgIFdlYktpdFdlYlZpZXdCYXNlKiB3
ZWJWaWV3QmFzZSA9IFdFQktJVF9XRUJfVklFV19CQVNFKHdpZGdldCk7CiAgICAgV2ViS2l0V2Vi
Vmlld0Jhc2VQcml2YXRlKiBwcml2ID0gd2ViVmlld0Jhc2UtPnByaXY7CiAKICAgICBpZiAocHJp
di0+YXV0aGVudGljYXRpb25EaWFsb2cpCi0gICAgICAgIHJldHVybiBHVEtfV0lER0VUX0NMQVNT
KHdlYmtpdF93ZWJfdmlld19iYXNlX3BhcmVudF9jbGFzcyktPmtleV9wcmVzc19ldmVudCh3aWRn
ZXQsIGV2ZW50KTsKKyAgICAgICAgcmV0dXJuIEdUS19XSURHRVRfQ0xBU1Mod2Via2l0X3dlYl92
aWV3X2Jhc2VfcGFyZW50X2NsYXNzKS0+a2V5X3ByZXNzX2V2ZW50KHdpZGdldCwga2V5RXZlbnQp
OwogCiAjaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQogICAgIGlmIChwcml2LT5mdWxsU2NyZWVu
TW9kZUFjdGl2ZSkgewotICAgICAgICBzd2l0Y2ggKGV2ZW50LT5rZXl2YWwpIHsKKyAgICAgICAg
c3dpdGNoIChrZXlFdmVudC0+a2V5dmFsKSB7CiAgICAgICAgIGNhc2UgR0RLX0tFWV9Fc2NhcGU6
CiAgICAgICAgIGNhc2UgR0RLX0tFWV9mOgogICAgICAgICBjYXNlIEdES19LRVlfRjoKQEAgLTcw
MiwyOSArNzAyLDMzIEBAIHN0YXRpYyBnYm9vbGVhbiB3ZWJraXRXZWJWaWV3QmFzZUtleVByZXNz
RXZlbnQoR3RrV2lkZ2V0KiB3aWRnZXQsIEdka0V2ZW50S2V5KiBlCiAgICAgLy8gdXNpbmcgZ3Rr
X21haW5fZG9fZXZlbnQoKS4KICAgICBpZiAocHJpdi0+c2hvdWxkRm9yd2FyZE5leHRLZXlFdmVu
dCkgewogICAgICAgICBwcml2LT5zaG91bGRGb3J3YXJkTmV4dEtleUV2ZW50ID0gRkFMU0U7Ci0g
ICAgICAgIHJldHVybiBHVEtfV0lER0VUX0NMQVNTKHdlYmtpdF93ZWJfdmlld19iYXNlX3BhcmVu
dF9jbGFzcyktPmtleV9wcmVzc19ldmVudCh3aWRnZXQsIGV2ZW50KTsKKyAgICAgICAgcmV0dXJu
IEdUS19XSURHRVRfQ0xBU1Mod2Via2l0X3dlYl92aWV3X2Jhc2VfcGFyZW50X2NsYXNzKS0+a2V5
X3ByZXNzX2V2ZW50KHdpZGdldCwga2V5RXZlbnQpOwogICAgIH0KIAotICAgIHByaXYtPmlucHV0
TWV0aG9kRmlsdGVyLmZpbHRlcktleUV2ZW50KGV2ZW50LCBbcHJpdiwgZXZlbnRdKGNvbnN0IFdl
YkNvcmU6OkNvbXBvc2l0aW9uUmVzdWx0cyYgY29tcG9zaXRpb25SZXN1bHRzLCBJbnB1dE1ldGhv
ZEZpbHRlcjo6RXZlbnRGYWtlZEZvckNvbXBvc2l0aW9uIGZha2VkKSB7Ci0gICAgICAgIHByaXYt
PnBhZ2VQcm94eS0+aGFuZGxlS2V5Ym9hcmRFdmVudChOYXRpdmVXZWJLZXlib2FyZEV2ZW50KHJl
aW50ZXJwcmV0X2Nhc3Q8R2RrRXZlbnQqPihldmVudCksIGNvbXBvc2l0aW9uUmVzdWx0cywgZmFr
ZWQsCi0gICAgICAgICAgICAhY29tcG9zaXRpb25SZXN1bHRzLmNvbXBvc2l0aW9uVXBkYXRlZCgp
ID8gcHJpdi0+a2V5QmluZGluZ1RyYW5zbGF0b3IuY29tbWFuZHNGb3JLZXlFdmVudChldmVudCkg
OiBWZWN0b3I8U3RyaW5nPigpKSk7CisgICAgLy8gV2UgbmVlZCB0byBjb3B5IHRoZSBldmVudCBh
cyBvdGhlcndpc2UgaXQgY291bGQgYmUgZGVzdHJveWVkIGJlZm9yZSB3ZSByZWFjaCB0aGUgbGFt
YmRhIGJvZHkuCisgICAgR1VuaXF1ZVB0cjxHZGtFdmVudD4gZXZlbnQoZ2RrX2V2ZW50X2NvcHko
cmVpbnRlcnByZXRfY2FzdDxHZGtFdmVudCo+KGtleUV2ZW50KSkpOworICAgIHByaXYtPmlucHV0
TWV0aG9kRmlsdGVyLmZpbHRlcktleUV2ZW50KCZldmVudC0+a2V5LCBbcHJpdiwgZXZlbnQgPSBX
VEZNb3ZlKGV2ZW50KV0oY29uc3QgV2ViQ29yZTo6Q29tcG9zaXRpb25SZXN1bHRzJiBjb21wb3Np
dGlvblJlc3VsdHMsIElucHV0TWV0aG9kRmlsdGVyOjpFdmVudEZha2VkRm9yQ29tcG9zaXRpb24g
ZmFrZWQpIHsKKyAgICAgICAgcHJpdi0+cGFnZVByb3h5LT5oYW5kbGVLZXlib2FyZEV2ZW50KE5h
dGl2ZVdlYktleWJvYXJkRXZlbnQoZXZlbnQuZ2V0KCksIGNvbXBvc2l0aW9uUmVzdWx0cywgZmFr
ZWQsCisgICAgICAgICAgICAhY29tcG9zaXRpb25SZXN1bHRzLmNvbXBvc2l0aW9uVXBkYXRlZCgp
ID8gcHJpdi0+a2V5QmluZGluZ1RyYW5zbGF0b3IuY29tbWFuZHNGb3JLZXlFdmVudCgmZXZlbnQt
PmtleSkgOiBWZWN0b3I8U3RyaW5nPigpKSk7CiAgICAgfSk7CiAKICAgICByZXR1cm4gVFJVRTsK
IH0KIAotc3RhdGljIGdib29sZWFuIHdlYmtpdFdlYlZpZXdCYXNlS2V5UmVsZWFzZUV2ZW50KEd0
a1dpZGdldCogd2lkZ2V0LCBHZGtFdmVudEtleSogZXZlbnQpCitzdGF0aWMgZ2Jvb2xlYW4gd2Vi
a2l0V2ViVmlld0Jhc2VLZXlSZWxlYXNlRXZlbnQoR3RrV2lkZ2V0KiB3aWRnZXQsIEdka0V2ZW50
S2V5KiBrZXlFdmVudCkKIHsKICAgICBXZWJLaXRXZWJWaWV3QmFzZSogd2ViVmlld0Jhc2UgPSBX
RUJLSVRfV0VCX1ZJRVdfQkFTRSh3aWRnZXQpOwogICAgIFdlYktpdFdlYlZpZXdCYXNlUHJpdmF0
ZSogcHJpdiA9IHdlYlZpZXdCYXNlLT5wcml2OwogCiAgICAgaWYgKHByaXYtPnNob3VsZEZvcndh
cmROZXh0S2V5RXZlbnQpIHsKICAgICAgICAgcHJpdi0+c2hvdWxkRm9yd2FyZE5leHRLZXlFdmVu
dCA9IEZBTFNFOwotICAgICAgICByZXR1cm4gR1RLX1dJREdFVF9DTEFTUyh3ZWJraXRfd2ViX3Zp
ZXdfYmFzZV9wYXJlbnRfY2xhc3MpLT5rZXlfcmVsZWFzZV9ldmVudCh3aWRnZXQsIGV2ZW50KTsK
KyAgICAgICAgcmV0dXJuIEdUS19XSURHRVRfQ0xBU1Mod2Via2l0X3dlYl92aWV3X2Jhc2VfcGFy
ZW50X2NsYXNzKS0+a2V5X3JlbGVhc2VfZXZlbnQod2lkZ2V0LCBrZXlFdmVudCk7CiAgICAgfQog
Ci0gICAgcHJpdi0+aW5wdXRNZXRob2RGaWx0ZXIuZmlsdGVyS2V5RXZlbnQoZXZlbnQsIFtwcml2
LCBldmVudF0oY29uc3QgV2ViQ29yZTo6Q29tcG9zaXRpb25SZXN1bHRzJiBjb21wb3NpdGlvblJl
c3VsdHMsIElucHV0TWV0aG9kRmlsdGVyOjpFdmVudEZha2VkRm9yQ29tcG9zaXRpb24gZmFrZWQp
IHsKLSAgICAgICAgcHJpdi0+cGFnZVByb3h5LT5oYW5kbGVLZXlib2FyZEV2ZW50KE5hdGl2ZVdl
YktleWJvYXJkRXZlbnQocmVpbnRlcnByZXRfY2FzdDxHZGtFdmVudCo+KGV2ZW50KSwgY29tcG9z
aXRpb25SZXN1bHRzLCBmYWtlZCwgeyB9KSk7CisgICAgLy8gV2UgbmVlZCB0byBjb3B5IHRoZSBl
dmVudCBhcyBvdGhlcndpc2UgaXQgY291bGQgYmUgZGVzdHJveWVkIGJlZm9yZSB3ZSByZWFjaCB0
aGUgbGFtYmRhIGJvZHkuCisgICAgR1VuaXF1ZVB0cjxHZGtFdmVudD4gZXZlbnQoZ2RrX2V2ZW50
X2NvcHkocmVpbnRlcnByZXRfY2FzdDxHZGtFdmVudCo+KGtleUV2ZW50KSkpOworICAgIHByaXYt
PmlucHV0TWV0aG9kRmlsdGVyLmZpbHRlcktleUV2ZW50KCZldmVudC0+a2V5LCBbcHJpdiwgZXZl
bnQgPSBXVEZNb3ZlKGV2ZW50KV0oY29uc3QgV2ViQ29yZTo6Q29tcG9zaXRpb25SZXN1bHRzJiBj
b21wb3NpdGlvblJlc3VsdHMsIElucHV0TWV0aG9kRmlsdGVyOjpFdmVudEZha2VkRm9yQ29tcG9z
aXRpb24gZmFrZWQpIHsKKyAgICAgICAgcHJpdi0+cGFnZVByb3h5LT5oYW5kbGVLZXlib2FyZEV2
ZW50KE5hdGl2ZVdlYktleWJvYXJkRXZlbnQoZXZlbnQuZ2V0KCksIGNvbXBvc2l0aW9uUmVzdWx0
cywgZmFrZWQsIHsgfSkpOwogICAgIH0pOwogCiAgICAgcmV0dXJuIFRSVUU7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL0lucHV0TWV0aG9kRmlsdGVyLmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL0lucHV0TWV0aG9kRmlsdGVyLmgKaW5kZXggNmQyY2Vl
NmI1MzYzMjlkNThhNmYzNGM5Zjc2NjI5ZTNhZDZmY2JlNC4uZjZkNjZlYjVhYjU4NzkzNjM2MzA2
MWFjN2Y2MGNlZWZmMTYzZTkwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L2d0ay9JbnB1dE1ldGhvZEZpbHRlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9n
dGsvSW5wdXRNZXRob2RGaWx0ZXIuaApAQCAtMjEsNyArMjEsNyBAQAogI2RlZmluZSBJbnB1dE1l
dGhvZEZpbHRlcl9oCiAKICNpbmNsdWRlIDxXZWJDb3JlL0ludFBvaW50Lmg+Ci0jaW5jbHVkZSA8
ZnVuY3Rpb25hbD4KKyNpbmNsdWRlIDx3dGYvRnVuY3Rpb24uaD4KICNpbmNsdWRlIDx3dGYvTm9u
Y29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvZ2xpYi9HUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3Rm
L3RleHQvV1RGU3RyaW5nLmg+CkBAIC01Niw3ICs1Niw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNl
dEVuYWJsZWQoYm9vbCk7CiAgICAgdm9pZCBzZXRDdXJzb3JSZWN0KGNvbnN0IFdlYkNvcmU6Oklu
dFJlY3QmKTsKIAotICAgIHVzaW5nIEZpbHRlcktleUV2ZW50Q29tcGxldGlvbkhhbmRsZXIgPSBz
dGQ6OmZ1bmN0aW9uPHZvaWQgKGNvbnN0IFdlYkNvcmU6OkNvbXBvc2l0aW9uUmVzdWx0cyYsIElu
cHV0TWV0aG9kRmlsdGVyOjpFdmVudEZha2VkRm9yQ29tcG9zaXRpb24pPjsKKyAgICB1c2luZyBG
aWx0ZXJLZXlFdmVudENvbXBsZXRpb25IYW5kbGVyID0gRnVuY3Rpb248dm9pZChjb25zdCBXZWJD
b3JlOjpDb21wb3NpdGlvblJlc3VsdHMmLCBJbnB1dE1ldGhvZEZpbHRlcjo6RXZlbnRGYWtlZEZv
ckNvbXBvc2l0aW9uKT47CiAgICAgdm9pZCBmaWx0ZXJLZXlFdmVudChHZGtFdmVudEtleSosIEZp
bHRlcktleUV2ZW50Q29tcGxldGlvbkhhbmRsZXImJiA9IG51bGxwdHIpOwogICAgIHZvaWQgbm90
aWZ5Rm9jdXNlZEluKCk7CiAgICAgdm9pZCBub3RpZnlGb2N1c2VkT3V0KCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>291063</attachid>
            <date>2016-10-09 22:40:35 -0700</date>
            <delta_ts>2016-10-10 00:15:10 -0700</delta_ts>
            <desc>Fix crash</desc>
            <filename>bug-163011-20161010073714.patch</filename>
            <type>text/plain</type>
            <size>6481</size>
            <attacher name="Tomas Popela">tpopela</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA2ODYyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZmI3MDhhY2QxZjUwZjdm
ZTVmZGU4MTljZDQyNzNmYmQ0NmFkOTQyYS4uNGZlMDk5MGZjMGQ1NDVkNWJkZWIzNTU3NWQyODAw
M2ZlYmVhMTY4NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE2LTEwLTA5ICBUb21h
cyBQb3BlbGEgIDx0cG9wZWxhQHJlZGhhdC5jb20+CisKKyAgICAgICAgW0dUS10gVUlQcm9jZXNz
IGNyYXNoZXMgd2hlbiB1c2luZyBKYXBhbmVzZSBJTQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYzMDExCisKKyAgICAgICAgV2UgaGF2ZSB0byByZWZl
cmVuY2UgdGhlIGN1cnJlbnQgR2RrRXZlbnRLZXkgYmVmb3JlIHdlIHRyeSBwcm9jZXNzIGl0Cisg
ICAgICAgIGFzIGxhdGVyIHdoZW4gdGhlIGxhbWJkYSBib2R5IGlzIHJlYWNoZWQgdGhlIGV2ZW50
IGNvdWxkIGJlIGFscmVhZHkKKyAgICAgICAgZnJlZWQuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJW
aWV3QmFzZS5jcHA6CisgICAgICAgICh3ZWJraXRXZWJWaWV3QmFzZUtleVByZXNzRXZlbnQpOgor
ICAgICAgICAod2Via2l0V2ViVmlld0Jhc2VLZXlSZWxlYXNlRXZlbnQpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9ndGsvSW5wdXRNZXRob2RGaWx0ZXIuaDoKKyAgICAgICAgVXNlIG5vbi1jb3B5YWJs
ZSBGdW5jdGlvbiBzbyB3ZSBjYW4gdXNlIFdURk1vdmUgdG8gcGFzcyB0aGUgZXZlbnQgdG8KKyAg
ICAgICAgbGFtYmRhLgorCiAyMDE2LTEwLTA2ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxl
LmNvbT4KIAogICAgICAgICBbV0syXSAzMDQgcmV2YWxpZGF0aW9uIG9uIHRoZSBuZXR3b3JrIHBy
b2Nlc3MgZG9lcyBub3QgdXBkYXRlIHRoZSB2YWxpZGF0ZWQgcmVzcG9uc2UKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcApp
bmRleCA1YTgwNTU5NjBhMGY2ZjI2ODA1YjE0N2M4OTY2NWM1YWY3ZmQ1MDgxLi42NzQwMjE2OTJi
ZDZiZGU0NDY2NWRjMGZmOWUzMGQxYzZkYzRmMjI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZS5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwCkBAIC02NzQsMTcg
KzY3NCwxNyBAQCBzdGF0aWMgZ2Jvb2xlYW4gd2Via2l0V2ViVmlld0Jhc2VGb2N1c091dEV2ZW50
KEd0a1dpZGdldCogd2lkZ2V0LCBHZGtFdmVudEZvY3VzKgogICAgIHJldHVybiBHVEtfV0lER0VU
X0NMQVNTKHdlYmtpdF93ZWJfdmlld19iYXNlX3BhcmVudF9jbGFzcyktPmZvY3VzX291dF9ldmVu
dCh3aWRnZXQsIGV2ZW50KTsKIH0KIAotc3RhdGljIGdib29sZWFuIHdlYmtpdFdlYlZpZXdCYXNl
S2V5UHJlc3NFdmVudChHdGtXaWRnZXQqIHdpZGdldCwgR2RrRXZlbnRLZXkqIGV2ZW50KQorc3Rh
dGljIGdib29sZWFuIHdlYmtpdFdlYlZpZXdCYXNlS2V5UHJlc3NFdmVudChHdGtXaWRnZXQqIHdp
ZGdldCwgR2RrRXZlbnRLZXkqIGtleUV2ZW50KQogewogICAgIFdlYktpdFdlYlZpZXdCYXNlKiB3
ZWJWaWV3QmFzZSA9IFdFQktJVF9XRUJfVklFV19CQVNFKHdpZGdldCk7CiAgICAgV2ViS2l0V2Vi
Vmlld0Jhc2VQcml2YXRlKiBwcml2ID0gd2ViVmlld0Jhc2UtPnByaXY7CiAKICAgICBpZiAocHJp
di0+YXV0aGVudGljYXRpb25EaWFsb2cpCi0gICAgICAgIHJldHVybiBHVEtfV0lER0VUX0NMQVNT
KHdlYmtpdF93ZWJfdmlld19iYXNlX3BhcmVudF9jbGFzcyktPmtleV9wcmVzc19ldmVudCh3aWRn
ZXQsIGV2ZW50KTsKKyAgICAgICAgcmV0dXJuIEdUS19XSURHRVRfQ0xBU1Mod2Via2l0X3dlYl92
aWV3X2Jhc2VfcGFyZW50X2NsYXNzKS0+a2V5X3ByZXNzX2V2ZW50KHdpZGdldCwga2V5RXZlbnQp
OwogCiAjaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQogICAgIGlmIChwcml2LT5mdWxsU2NyZWVu
TW9kZUFjdGl2ZSkgewotICAgICAgICBzd2l0Y2ggKGV2ZW50LT5rZXl2YWwpIHsKKyAgICAgICAg
c3dpdGNoIChrZXlFdmVudC0+a2V5dmFsKSB7CiAgICAgICAgIGNhc2UgR0RLX0tFWV9Fc2NhcGU6
CiAgICAgICAgIGNhc2UgR0RLX0tFWV9mOgogICAgICAgICBjYXNlIEdES19LRVlfRjoKQEAgLTcw
MiwyOSArNzAyLDMzIEBAIHN0YXRpYyBnYm9vbGVhbiB3ZWJraXRXZWJWaWV3QmFzZUtleVByZXNz
RXZlbnQoR3RrV2lkZ2V0KiB3aWRnZXQsIEdka0V2ZW50S2V5KiBlCiAgICAgLy8gdXNpbmcgZ3Rr
X21haW5fZG9fZXZlbnQoKS4KICAgICBpZiAocHJpdi0+c2hvdWxkRm9yd2FyZE5leHRLZXlFdmVu
dCkgewogICAgICAgICBwcml2LT5zaG91bGRGb3J3YXJkTmV4dEtleUV2ZW50ID0gRkFMU0U7Ci0g
ICAgICAgIHJldHVybiBHVEtfV0lER0VUX0NMQVNTKHdlYmtpdF93ZWJfdmlld19iYXNlX3BhcmVu
dF9jbGFzcyktPmtleV9wcmVzc19ldmVudCh3aWRnZXQsIGV2ZW50KTsKKyAgICAgICAgcmV0dXJu
IEdUS19XSURHRVRfQ0xBU1Mod2Via2l0X3dlYl92aWV3X2Jhc2VfcGFyZW50X2NsYXNzKS0+a2V5
X3ByZXNzX2V2ZW50KHdpZGdldCwga2V5RXZlbnQpOwogICAgIH0KIAotICAgIHByaXYtPmlucHV0
TWV0aG9kRmlsdGVyLmZpbHRlcktleUV2ZW50KGV2ZW50LCBbcHJpdiwgZXZlbnRdKGNvbnN0IFdl
YkNvcmU6OkNvbXBvc2l0aW9uUmVzdWx0cyYgY29tcG9zaXRpb25SZXN1bHRzLCBJbnB1dE1ldGhv
ZEZpbHRlcjo6RXZlbnRGYWtlZEZvckNvbXBvc2l0aW9uIGZha2VkKSB7Ci0gICAgICAgIHByaXYt
PnBhZ2VQcm94eS0+aGFuZGxlS2V5Ym9hcmRFdmVudChOYXRpdmVXZWJLZXlib2FyZEV2ZW50KHJl
aW50ZXJwcmV0X2Nhc3Q8R2RrRXZlbnQqPihldmVudCksIGNvbXBvc2l0aW9uUmVzdWx0cywgZmFr
ZWQsCi0gICAgICAgICAgICAhY29tcG9zaXRpb25SZXN1bHRzLmNvbXBvc2l0aW9uVXBkYXRlZCgp
ID8gcHJpdi0+a2V5QmluZGluZ1RyYW5zbGF0b3IuY29tbWFuZHNGb3JLZXlFdmVudChldmVudCkg
OiBWZWN0b3I8U3RyaW5nPigpKSk7CisgICAgLy8gV2UgbmVlZCB0byBjb3B5IHRoZSBldmVudCBh
cyBvdGhlcndpc2UgaXQgY291bGQgYmUgZGVzdHJveWVkIGJlZm9yZSB3ZSByZWFjaCB0aGUgbGFt
YmRhIGJvZHkuCisgICAgR1VuaXF1ZVB0cjxHZGtFdmVudD4gZXZlbnQoZ2RrX2V2ZW50X2NvcHko
cmVpbnRlcnByZXRfY2FzdDxHZGtFdmVudCo+KGtleUV2ZW50KSkpOworICAgIHByaXYtPmlucHV0
TWV0aG9kRmlsdGVyLmZpbHRlcktleUV2ZW50KGtleUV2ZW50LCBbcHJpdiwgZXZlbnQgPSBXVEZN
b3ZlKGV2ZW50KV0oY29uc3QgV2ViQ29yZTo6Q29tcG9zaXRpb25SZXN1bHRzJiBjb21wb3NpdGlv
blJlc3VsdHMsIElucHV0TWV0aG9kRmlsdGVyOjpFdmVudEZha2VkRm9yQ29tcG9zaXRpb24gZmFr
ZWQpIHsKKyAgICAgICAgcHJpdi0+cGFnZVByb3h5LT5oYW5kbGVLZXlib2FyZEV2ZW50KE5hdGl2
ZVdlYktleWJvYXJkRXZlbnQoZXZlbnQuZ2V0KCksIGNvbXBvc2l0aW9uUmVzdWx0cywgZmFrZWQs
CisgICAgICAgICAgICAhY29tcG9zaXRpb25SZXN1bHRzLmNvbXBvc2l0aW9uVXBkYXRlZCgpID8g
cHJpdi0+a2V5QmluZGluZ1RyYW5zbGF0b3IuY29tbWFuZHNGb3JLZXlFdmVudCgmZXZlbnQtPmtl
eSkgOiBWZWN0b3I8U3RyaW5nPigpKSk7CiAgICAgfSk7CiAKICAgICByZXR1cm4gVFJVRTsKIH0K
IAotc3RhdGljIGdib29sZWFuIHdlYmtpdFdlYlZpZXdCYXNlS2V5UmVsZWFzZUV2ZW50KEd0a1dp
ZGdldCogd2lkZ2V0LCBHZGtFdmVudEtleSogZXZlbnQpCitzdGF0aWMgZ2Jvb2xlYW4gd2Via2l0
V2ViVmlld0Jhc2VLZXlSZWxlYXNlRXZlbnQoR3RrV2lkZ2V0KiB3aWRnZXQsIEdka0V2ZW50S2V5
KiBrZXlFdmVudCkKIHsKICAgICBXZWJLaXRXZWJWaWV3QmFzZSogd2ViVmlld0Jhc2UgPSBXRUJL
SVRfV0VCX1ZJRVdfQkFTRSh3aWRnZXQpOwogICAgIFdlYktpdFdlYlZpZXdCYXNlUHJpdmF0ZSog
cHJpdiA9IHdlYlZpZXdCYXNlLT5wcml2OwogCiAgICAgaWYgKHByaXYtPnNob3VsZEZvcndhcmRO
ZXh0S2V5RXZlbnQpIHsKICAgICAgICAgcHJpdi0+c2hvdWxkRm9yd2FyZE5leHRLZXlFdmVudCA9
IEZBTFNFOwotICAgICAgICByZXR1cm4gR1RLX1dJREdFVF9DTEFTUyh3ZWJraXRfd2ViX3ZpZXdf
YmFzZV9wYXJlbnRfY2xhc3MpLT5rZXlfcmVsZWFzZV9ldmVudCh3aWRnZXQsIGV2ZW50KTsKKyAg
ICAgICAgcmV0dXJuIEdUS19XSURHRVRfQ0xBU1Mod2Via2l0X3dlYl92aWV3X2Jhc2VfcGFyZW50
X2NsYXNzKS0+a2V5X3JlbGVhc2VfZXZlbnQod2lkZ2V0LCBrZXlFdmVudCk7CiAgICAgfQogCi0g
ICAgcHJpdi0+aW5wdXRNZXRob2RGaWx0ZXIuZmlsdGVyS2V5RXZlbnQoZXZlbnQsIFtwcml2LCBl
dmVudF0oY29uc3QgV2ViQ29yZTo6Q29tcG9zaXRpb25SZXN1bHRzJiBjb21wb3NpdGlvblJlc3Vs
dHMsIElucHV0TWV0aG9kRmlsdGVyOjpFdmVudEZha2VkRm9yQ29tcG9zaXRpb24gZmFrZWQpIHsK
LSAgICAgICAgcHJpdi0+cGFnZVByb3h5LT5oYW5kbGVLZXlib2FyZEV2ZW50KE5hdGl2ZVdlYktl
eWJvYXJkRXZlbnQocmVpbnRlcnByZXRfY2FzdDxHZGtFdmVudCo+KGV2ZW50KSwgY29tcG9zaXRp
b25SZXN1bHRzLCBmYWtlZCwgeyB9KSk7CisgICAgLy8gV2UgbmVlZCB0byBjb3B5IHRoZSBldmVu
dCBhcyBvdGhlcndpc2UgaXQgY291bGQgYmUgZGVzdHJveWVkIGJlZm9yZSB3ZSByZWFjaCB0aGUg
bGFtYmRhIGJvZHkuCisgICAgR1VuaXF1ZVB0cjxHZGtFdmVudD4gZXZlbnQoZ2RrX2V2ZW50X2Nv
cHkocmVpbnRlcnByZXRfY2FzdDxHZGtFdmVudCo+KGtleUV2ZW50KSkpOworICAgIHByaXYtPmlu
cHV0TWV0aG9kRmlsdGVyLmZpbHRlcktleUV2ZW50KGtleUV2ZW50LCBbcHJpdiwgZXZlbnQgPSBX
VEZNb3ZlKGV2ZW50KV0oY29uc3QgV2ViQ29yZTo6Q29tcG9zaXRpb25SZXN1bHRzJiBjb21wb3Np
dGlvblJlc3VsdHMsIElucHV0TWV0aG9kRmlsdGVyOjpFdmVudEZha2VkRm9yQ29tcG9zaXRpb24g
ZmFrZWQpIHsKKyAgICAgICAgcHJpdi0+cGFnZVByb3h5LT5oYW5kbGVLZXlib2FyZEV2ZW50KE5h
dGl2ZVdlYktleWJvYXJkRXZlbnQoZXZlbnQuZ2V0KCksIGNvbXBvc2l0aW9uUmVzdWx0cywgZmFr
ZWQsIHsgfSkpOwogICAgIH0pOwogCiAgICAgcmV0dXJuIFRSVUU7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL0lucHV0TWV0aG9kRmlsdGVyLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvZ3RrL0lucHV0TWV0aG9kRmlsdGVyLmgKaW5kZXggNmQyY2VlNmI1MzYz
MjlkNThhNmYzNGM5Zjc2NjI5ZTNhZDZmY2JlNC4uZjZkNjZlYjVhYjU4NzkzNjM2MzA2MWFjN2Y2
MGNlZWZmMTYzZTkwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9J
bnB1dE1ldGhvZEZpbHRlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvSW5w
dXRNZXRob2RGaWx0ZXIuaApAQCAtMjEsNyArMjEsNyBAQAogI2RlZmluZSBJbnB1dE1ldGhvZEZp
bHRlcl9oCiAKICNpbmNsdWRlIDxXZWJDb3JlL0ludFBvaW50Lmg+Ci0jaW5jbHVkZSA8ZnVuY3Rp
b25hbD4KKyNpbmNsdWRlIDx3dGYvRnVuY3Rpb24uaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFi
bGUuaD4KICNpbmNsdWRlIDx3dGYvZ2xpYi9HUmVmUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQv
V1RGU3RyaW5nLmg+CkBAIC01Niw3ICs1Niw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEVuYWJs
ZWQoYm9vbCk7CiAgICAgdm9pZCBzZXRDdXJzb3JSZWN0KGNvbnN0IFdlYkNvcmU6OkludFJlY3Qm
KTsKIAotICAgIHVzaW5nIEZpbHRlcktleUV2ZW50Q29tcGxldGlvbkhhbmRsZXIgPSBzdGQ6OmZ1
bmN0aW9uPHZvaWQgKGNvbnN0IFdlYkNvcmU6OkNvbXBvc2l0aW9uUmVzdWx0cyYsIElucHV0TWV0
aG9kRmlsdGVyOjpFdmVudEZha2VkRm9yQ29tcG9zaXRpb24pPjsKKyAgICB1c2luZyBGaWx0ZXJL
ZXlFdmVudENvbXBsZXRpb25IYW5kbGVyID0gRnVuY3Rpb248dm9pZChjb25zdCBXZWJDb3JlOjpD
b21wb3NpdGlvblJlc3VsdHMmLCBJbnB1dE1ldGhvZEZpbHRlcjo6RXZlbnRGYWtlZEZvckNvbXBv
c2l0aW9uKT47CiAgICAgdm9pZCBmaWx0ZXJLZXlFdmVudChHZGtFdmVudEtleSosIEZpbHRlcktl
eUV2ZW50Q29tcGxldGlvbkhhbmRsZXImJiA9IG51bGxwdHIpOwogICAgIHZvaWQgbm90aWZ5Rm9j
dXNlZEluKCk7CiAgICAgdm9pZCBub3RpZnlGb2N1c2VkT3V0KCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>