<?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>51569</bug_id>
          
          <creation_ts>2010-12-23 15:50:44 -0800</creation_ts>
          <short_desc>[GTK] EditorClient::generateEditorCommands queues up &quot;null string&quot; commands</short_desc>
          <delta_ts>2010-12-27 17:04:51 -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>WebKit Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Darin Adler">darin</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric</cc>
    
    <cc>mrobinson</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>326336</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-12-23 15:50:44 -0800</bug_when>
    <thetext>After &lt;http://trac.webkit.org/changeset/74580&gt;, we saw assertion failures on GTK.

The cause seems to be EditorClient::generateEditorCommands calling m_pendingEditorCommands.append with a null pointer, and then later turning that into a command name string. Best fix is probably to check for null before appending to the pending commands vector.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>326882</commentid>
    <comment_count>1</comment_count>
      <attachid>77454</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-12-26 07:25:56 -0800</bug_when>
    <thetext>Created attachment 77454
Patch for this issue</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>326915</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-12-26 13:29:40 -0800</bug_when>
    <thetext>How do we test this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>326918</commentid>
    <comment_count>3</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-12-26 13:41:59 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; How do we test this?

Does eventSender use this code path?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>326926</commentid>
    <comment_count>4</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-12-26 14:29:57 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; How do we test this?

Recently a null command string would cause an assertion failure deeper in the editing code on many tests (&gt; 20 crashes on the debug build before it ).

In this patch, I added an assertion in the WebKitGTK+ specific code which ensures that no null editing command strings are generated. If this ever starts failing again, many tests will start hitting this assertion and show crashes on the bots. 

If this isn&apos;t sufficient, it will be pretty easy to create a test that verifies this. All keystrokes that don&apos;t result in an editor command were generating a null command string, which is why so many tests will start crashing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>326933</commentid>
    <comment_count>5</comment_count>
      <attachid>77454</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-12-26 15:32:00 -0800</bug_when>
    <thetext>Comment on attachment 77454
Patch for this issue

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

&gt; WebKit/gtk/WebCoreSupport/EditorClientGtk.cpp:666
&gt; +     if (!mapKey)

When is this condition ever true?  I would have put an assertion here unless you know a condition in which map key is 0.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>327110</commentid>
    <comment_count>6</comment_count>
      <attachid>77518</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-12-27 13:53:13 -0800</bug_when>
    <thetext>Created attachment 77518
Simplified version of the previous patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>327111</commentid>
    <comment_count>7</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-12-27 13:56:42 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; When is this condition ever true?  I would have put an assertion here unless you know a condition in which map key is 0.

IIRC, some misbehaving GTK+ input methods (which are essentially separate programs) may generate key events with node keyval value (which is used for the keyCode() later on). I wasn&apos;t able to reproduce this, but I think not trusting the input method code is the right decision here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>327112</commentid>
    <comment_count>8</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-12-27 13:57:41 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; Created an attachment (id=77518) [details]
&gt; Simplified version of the previous patch

I&apos;ve attached a simplified version of the previous patch. It seems keyCode() will call charCode() automatically for keypress events, so it isn&apos;t necessary to special-case it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>327120</commentid>
    <comment_count>9</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2010-12-27 14:35:56 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #5)
&gt; &gt; When is this condition ever true?  I would have put an assertion here unless you know a condition in which map key is 0.
&gt; 
&gt; IIRC, some misbehaving GTK+ input methods (which are essentially separate programs) may generate key events with node keyval value (which is used for the keyCode() later on). I wasn&apos;t able to reproduce this, but I think not trusting the input method code is the right decision here.

Ah, ok. Sounds good to me.

(In reply to comment #8)
&gt; (In reply to comment #6)
&gt; &gt; Created an attachment (id=77518) [details] [details]
&gt; &gt; Simplified version of the previous patch
&gt; 
&gt; I&apos;ve attached a simplified version of the previous patch. It seems keyCode() will call charCode() automatically for keypress events, so it isn&apos;t necessary to special-case it.

Ok.  I trust you on this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>327125</commentid>
    <comment_count>10</comment_count>
      <attachid>77518</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-12-27 14:48:28 -0800</bug_when>
    <thetext>Comment on attachment 77518
Simplified version of the previous patch

Clearing flags on attachment: 77518

Committed r74697: &lt;http://trac.webkit.org/changeset/74697&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>327126</commentid>
    <comment_count>11</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-12-27 14:48:33 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>327156</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-27 17:04:51 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/74697 might have broken Leopard Intel Debug (Tests)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77454</attachid>
            <date>2010-12-26 07:25:56 -0800</date>
            <delta_ts>2010-12-27 13:53:09 -0800</delta_ts>
            <desc>Patch for this issue</desc>
            <filename>bug-51569-20101226072555.patch</filename>
            <type>text/plain</type>
            <size>3100</size>
            <attacher name="Martin Robinson">mrobinson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cK
aW5kZXggOGE3ZTk3OWQ1MTc3ODk0MTNiZmQ5MmJjYjY2MmMwOWFjMTIzMzVmYi4uYTYxNjgwNjI1
ZmI4ZTdiNThjNDdhNDhjZWYyMmUzMTBjZjVkNTAwMCAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9D
aGFuZ2VMb2cKKysrIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAx
MC0xMi0yNiAgTWFydGluIFJvYmluc29uICA8bXJvYmluc29uQGlnYWxpYS5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW0dUS10gRWRpdG9yQ2xp
ZW50OjpnZW5lcmF0ZUVkaXRvckNvbW1hbmRzIHF1ZXVlcyB1cCAibnVsbCBzdHJpbmciIGNvbW1h
bmRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MTU2
OQorCisgICAgICAgIFByZXZlbnQgYWRkaW5nICJudWxsIHN0cmluZyIgZWRpdG9yIGNvbW1hbmRz
IGJ5IGZpcnN0IGNoZWNraW5nIHdoZXRoZXIgb3Igbm90CisgICAgICAgIHRoZSBjb21tYW5kIHN0
cmluZyBpcyBudWxsIGluIGdlbmVyYXRlRWRpdG9yQ29tbWFuZHMgYmVmb3JlIGFwcGVuZGluZyBp
dCB0byB0aGUKKyAgICAgICAgbGlzdCBvZiBwZW5kaW5nIGVkaXRvciBjb21tYW5kIHN0cmluZ3Mu
CisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpFZGl0b3JDbGllbnQ6OmdlbmVyYXRlRWRpdG9yQ29tbWFuZHMpOiBDaGVjayBm
b3IgdGhlIG51bGwgc3RyaW5nIChubworICAgICAgICBjb21tYW5kIGZvciB0aGlzIGtleSBjb21i
aW5hdGlvbikgYmVmb3JlIGFwcGVuZGluZyBhIGNvbW1hbmQgc3RyaW5nIHRvIHRoZSBsaXN0IG9m
CisgICAgICAgIHBlbmRpbmcgZWRpdG9yIGNvbW1hbmRzLgorICAgICAgICAoV2ViS2l0OjpFZGl0
b3JDbGllbnQ6OmV4ZWN1dGVQZW5kaW5nRWRpdG9yQ29tbWFuZHMpOiBBZGQgYW4gQVNTRVJUIHdo
aWNoIGRldGVjdHMKKyAgICAgICAgbnVsbCBjb21tYW5kIHN0cmluZ3MuCisKIDIwMTAtMTItMjEg
IFBoaWxpcHBlIE5vcm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IEVyaWMgU2VpZGVsLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9y
dC9FZGl0b3JDbGllbnRHdGsuY3BwIGIvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9FZGl0b3JD
bGllbnRHdGsuY3BwCmluZGV4IDA1MjJmODcxZTQ5MGRhMjE1MzIwZGEyMzE0OTcwOWUzYWJjNTNl
MmEuLjliM2Y0ZWM2NDg0MTIxYzgyOTA0YzY0OTc0NzIyN2E0Y2FlNTgxMGUgMTAwNjQ0Ci0tLSBh
L1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50R3RrLmNwcAorKysgYi9XZWJL
aXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5jcHAKQEAgLTY1MiwyNCArNjUy
LDMzIEBAIHZvaWQgRWRpdG9yQ2xpZW50OjpnZW5lcmF0ZUVkaXRvckNvbW1hbmRzKGNvbnN0IEtl
eWJvYXJkRXZlbnQqIGV2ZW50KQogICAgIGlmIChldmVudC0+Y3RybEtleSgpKQogICAgICAgICBt
b2RpZmllcnMgfD0gQ3RybEtleTsKIAotCisgICAgaW50IG1hcEtleSA9IDA7CisgICAgSGFzaE1h
cDxpbnQsIGNvbnN0IGNoYXIqPiogY29tbWFuZE1hcCA9IDA7CiAgICAgaWYgKGV2ZW50LT50eXBl
KCkgPT0gZXZlbnROYW1lcygpLmtleWRvd25FdmVudCkgewotICAgICAgICBpbnQgbWFwS2V5ID0g
bW9kaWZpZXJzIDw8IDE2IHwgZXZlbnQtPmtleUNvZGUoKTsKLSAgICAgICAgaWYgKG1hcEtleSkK
LSAgICAgICAgICAgIG1fcGVuZGluZ0VkaXRvckNvbW1hbmRzLmFwcGVuZChrZXlEb3duQ29tbWFu
ZHNNYXAuZ2V0KG1hcEtleSkpOwotICAgICAgICByZXR1cm47CisgICAgICAgIG1hcEtleSA9IG1v
ZGlmaWVycyA8PCAxNiB8IGV2ZW50LT5rZXlDb2RlKCk7CisgICAgICAgIGNvbW1hbmRNYXAgPSAm
a2V5RG93bkNvbW1hbmRzTWFwOworICAgIH0gZWxzZSB7CisgICAgICAgIEFTU0VSVChldmVudC0+
dHlwZSgpID09IGV2ZW50TmFtZXMoKS5rZXlwcmVzc0V2ZW50KTsKKyAgICAgICAgbWFwS2V5ID0g
bW9kaWZpZXJzIDw8IDE2IHwgZXZlbnQtPmNoYXJDb2RlKCk7CisgICAgICAgIGNvbW1hbmRNYXAg
PSAma2V5UHJlc3NDb21tYW5kc01hcDsKICAgICB9CiAKLSAgICBpbnQgbWFwS2V5ID0gbW9kaWZp
ZXJzIDw8IDE2IHwgZXZlbnQtPmNoYXJDb2RlKCk7Ci0gICAgaWYgKG1hcEtleSkKLSAgICAgICAg
bV9wZW5kaW5nRWRpdG9yQ29tbWFuZHMuYXBwZW5kKGtleVByZXNzQ29tbWFuZHNNYXAuZ2V0KG1h
cEtleSkpOworICAgICBpZiAoIW1hcEtleSkKKyAgICAgICAgcmV0dXJuOworCisgICAgIGNvbnN0
IGNoYXIqIGNvbW1hbmRTdHJpbmcgPSBjb21tYW5kTWFwLT5nZXQobWFwS2V5KTsKKyAgICAgaWYg
KCFjb21tYW5kU3RyaW5nKQorICAgICAgICByZXR1cm47CisgICAgIG1fcGVuZGluZ0VkaXRvckNv
bW1hbmRzLmFwcGVuZChjb21tYW5kU3RyaW5nKTsKIH0KIAogYm9vbCBFZGl0b3JDbGllbnQ6OmV4
ZWN1dGVQZW5kaW5nRWRpdG9yQ29tbWFuZHMoRnJhbWUqIGZyYW1lLCBib29sIGFsbG93VGV4dElu
c2VydGlvbikKIHsKICAgICBWZWN0b3I8RWRpdG9yOjpDb21tYW5kPiBjb21tYW5kczsKICAgICBm
b3IgKHNpemVfdCBpID0gMDsgaSA8IG1fcGVuZGluZ0VkaXRvckNvbW1hbmRzLnNpemUoKTsgaSsr
KSB7Ci0gICAgICAgIEVkaXRvcjo6Q29tbWFuZCBjb21tYW5kID0gZnJhbWUtPmVkaXRvcigpLT5j
b21tYW5kKG1fcGVuZGluZ0VkaXRvckNvbW1hbmRzLmF0KGkpKTsKKyAgICAgICAgY29uc3QgY2hh
ciogY29tbWFuZFN0cmluZyA9IG1fcGVuZGluZ0VkaXRvckNvbW1hbmRzLmF0KGkpOworICAgICAg
ICBBU1NFUlQoY29tbWFuZFN0cmluZyk7CisgICAgICAgIEVkaXRvcjo6Q29tbWFuZCBjb21tYW5k
ID0gZnJhbWUtPmVkaXRvcigpLT5jb21tYW5kKGNvbW1hbmRTdHJpbmcpOwogICAgICAgICBpZiAo
Y29tbWFuZC5pc1RleHRJbnNlcnRpb24oKSAmJiAhYWxsb3dUZXh0SW5zZXJ0aW9uKQogICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77518</attachid>
            <date>2010-12-27 13:53:13 -0800</date>
            <delta_ts>2010-12-27 14:48:28 -0800</delta_ts>
            <desc>Simplified version of the previous patch</desc>
            <filename>bug-51569-20101227135309.patch</filename>
            <type>text/plain</type>
            <size>2968</size>
            <attacher name="Martin Robinson">mrobinson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvQ2hhbmdlTG9nIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cK
aW5kZXggODg5ZjE4ZTA0MDFkMzk2NGU2MDRkNTljM2Y3MmU4ZjczMjgyNDE5Mi4uYzY5M2FjMDMz
MTMwMDM1M2E2ODY3NzAwOGQ1MDI0MzA4NGViYjM2MyAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9D
aGFuZ2VMb2cKKysrIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAx
MC0xMi0yNiAgTWFydGluIFJvYmluc29uICA8bXJvYmluc29uQGlnYWxpYS5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW0dUS10gRWRpdG9yQ2xp
ZW50OjpnZW5lcmF0ZUVkaXRvckNvbW1hbmRzIHF1ZXVlcyB1cCAibnVsbCBzdHJpbmciIGNvbW1h
bmRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MTU2
OQorCisgICAgICAgIFByZXZlbnQgYWRkaW5nICJudWxsIHN0cmluZyIgZWRpdG9yIGNvbW1hbmRz
IGJ5IGZpcnN0IGNoZWNraW5nIHdoZXRoZXIgb3Igbm90CisgICAgICAgIHRoZSBjb21tYW5kIHN0
cmluZyBpcyBudWxsIGluIGdlbmVyYXRlRWRpdG9yQ29tbWFuZHMgYmVmb3JlIGFwcGVuZGluZyBp
dCB0byB0aGUKKyAgICAgICAgbGlzdCBvZiBwZW5kaW5nIGVkaXRvciBjb21tYW5kIHN0cmluZ3Mu
CisKKyAgICAgICAgKiBXZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpFZGl0b3JDbGllbnQ6OmdlbmVyYXRlRWRpdG9yQ29tbWFuZHMpOiBDaGVjayBm
b3IgdGhlIG51bGwgc3RyaW5nIChubworICAgICAgICBjb21tYW5kIGZvciB0aGlzIGtleSBjb21i
aW5hdGlvbikgYmVmb3JlIGFwcGVuZGluZyBhIGNvbW1hbmQgc3RyaW5nIHRvIHRoZSBsaXN0IG9m
CisgICAgICAgIHBlbmRpbmcgZWRpdG9yIGNvbW1hbmRzLgorICAgICAgICAoV2ViS2l0OjpFZGl0
b3JDbGllbnQ6OmV4ZWN1dGVQZW5kaW5nRWRpdG9yQ29tbWFuZHMpOiBBZGQgYW4gQVNTRVJUIHdo
aWNoIGRldGVjdHMKKyAgICAgICAgbnVsbCBjb21tYW5kIHN0cmluZ3MuCisKIDIwMTAtMTItMjcg
IFhhbiBMb3BleiAgPHhsb3BlekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE1h
cnRpbiBSb2JpbnNvbi4KZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRWRp
dG9yQ2xpZW50R3RrLmNwcCBiL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvRWRpdG9yQ2xpZW50
R3RrLmNwcAppbmRleCAwNTIyZjg3MWU0OTBkYTIxNTMyMGRhMjMxNDk3MDllM2FiYzUzZTJhLi4z
ZjU1Y2NhNjhjMzEzYThkNzIxNDgwY2I5NTRjNWVjYjE2M2JiNTVkIDEwMDY0NAotLS0gYS9XZWJL
aXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0VkaXRvckNsaWVudEd0ay5jcHAKKysrIGIvV2ViS2l0L2d0
ay9XZWJDb3JlU3VwcG9ydC9FZGl0b3JDbGllbnRHdGsuY3BwCkBAIC02NTIsMjQgKzY1MiwyMyBA
QCB2b2lkIEVkaXRvckNsaWVudDo6Z2VuZXJhdGVFZGl0b3JDb21tYW5kcyhjb25zdCBLZXlib2Fy
ZEV2ZW50KiBldmVudCkKICAgICBpZiAoZXZlbnQtPmN0cmxLZXkoKSkKICAgICAgICAgbW9kaWZp
ZXJzIHw9IEN0cmxLZXk7CiAKLQotICAgIGlmIChldmVudC0+dHlwZSgpID09IGV2ZW50TmFtZXMo
KS5rZXlkb3duRXZlbnQpIHsKLSAgICAgICAgaW50IG1hcEtleSA9IG1vZGlmaWVycyA8PCAxNiB8
IGV2ZW50LT5rZXlDb2RlKCk7Ci0gICAgICAgIGlmIChtYXBLZXkpCi0gICAgICAgICAgICBtX3Bl
bmRpbmdFZGl0b3JDb21tYW5kcy5hcHBlbmQoa2V5RG93bkNvbW1hbmRzTWFwLmdldChtYXBLZXkp
KTsKKyAgICAvLyBGb3Iga2V5cHJlc3MgZXZlbnRzLCB3ZSB3YW50IGNoYXJDb2RlKCksIGJ1dCBr
ZXlDb2RlKCkgZG9lcyB0aGF0LgorICAgIGludCBtYXBLZXkgPSBtb2RpZmllcnMgPDwgMTYgfCBl
dmVudC0+a2V5Q29kZSgpOworICAgIGlmICghbWFwS2V5KQogICAgICAgICByZXR1cm47Ci0gICAg
fQotCi0gICAgaW50IG1hcEtleSA9IG1vZGlmaWVycyA8PCAxNiB8IGV2ZW50LT5jaGFyQ29kZSgp
OwotICAgIGlmIChtYXBLZXkpCi0gICAgICAgIG1fcGVuZGluZ0VkaXRvckNvbW1hbmRzLmFwcGVu
ZChrZXlQcmVzc0NvbW1hbmRzTWFwLmdldChtYXBLZXkpKTsKKyAgICBIYXNoTWFwPGludCwgY29u
c3QgY2hhcio+KiBjb21tYW5kTWFwID0gZXZlbnQtPnR5cGUoKSA9PSBldmVudE5hbWVzKCkua2V5
ZG93bkV2ZW50ID8KKyAgICAgICAgJmtleURvd25Db21tYW5kc01hcCA6ICZrZXlQcmVzc0NvbW1h
bmRzTWFwOworICAgIGlmIChjb25zdCBjaGFyKiBjb21tYW5kU3RyaW5nID0gY29tbWFuZE1hcC0+
Z2V0KG1hcEtleSkpCisgICAgICAgIG1fcGVuZGluZ0VkaXRvckNvbW1hbmRzLmFwcGVuZChjb21t
YW5kU3RyaW5nKTsKIH0KIAogYm9vbCBFZGl0b3JDbGllbnQ6OmV4ZWN1dGVQZW5kaW5nRWRpdG9y
Q29tbWFuZHMoRnJhbWUqIGZyYW1lLCBib29sIGFsbG93VGV4dEluc2VydGlvbikKIHsKICAgICBW
ZWN0b3I8RWRpdG9yOjpDb21tYW5kPiBjb21tYW5kczsKICAgICBmb3IgKHNpemVfdCBpID0gMDsg
aSA8IG1fcGVuZGluZ0VkaXRvckNvbW1hbmRzLnNpemUoKTsgaSsrKSB7Ci0gICAgICAgIEVkaXRv
cjo6Q29tbWFuZCBjb21tYW5kID0gZnJhbWUtPmVkaXRvcigpLT5jb21tYW5kKG1fcGVuZGluZ0Vk
aXRvckNvbW1hbmRzLmF0KGkpKTsKKyAgICAgICAgY29uc3QgY2hhciogY29tbWFuZFN0cmluZyA9
IG1fcGVuZGluZ0VkaXRvckNvbW1hbmRzLmF0KGkpOworICAgICAgICBBU1NFUlQoY29tbWFuZFN0
cmluZyk7CisgICAgICAgIEVkaXRvcjo6Q29tbWFuZCBjb21tYW5kID0gZnJhbWUtPmVkaXRvcigp
LT5jb21tYW5kKGNvbW1hbmRTdHJpbmcpOwogICAgICAgICBpZiAoY29tbWFuZC5pc1RleHRJbnNl
cnRpb24oKSAmJiAhYWxsb3dUZXh0SW5zZXJ0aW9uKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OwogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>