<?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>94522</bug_id>
          
          <creation_ts>2012-08-20 13:37:27 -0700</creation_ts>
          <short_desc>Unsafe vsprintf usage in TestNetscapePlugin</short_desc>
          <delta_ts>2012-08-20 16:39:58 -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>Tools / Tests</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Nate Chapin">japhet</reporter>
          <assigned_to name="Nate Chapin">japhet</assigned_to>
          <cc>abarth</cc>
    
    <cc>tony</cc>
    
    <cc>tsepez</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>699879</commentid>
    <comment_count>0</comment_count>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2012-08-20 13:37:27 -0700</bug_when>
    <thetext>Original report: http://code.google.com/p/chromium/issues/detail?id=141806

This is test-only code, so not marking it as a security issue.  However, it is triggering crashes in ClusterFuzz, so it seems worth it to clean up.

Using vsnprintf and a proper buffer size seems to fix the problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>699884</commentid>
    <comment_count>1</comment_count>
      <attachid>159511</attachid>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2012-08-20 13:41:55 -0700</bug_when>
    <thetext>Created attachment 159511
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>699894</commentid>
    <comment_count>2</comment_count>
      <attachid>159511</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-08-20 13:47:30 -0700</bug_when>
    <thetext>Comment on attachment 159511
patch

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

&gt; Tools/DumpRenderTree/TestNetscapePlugIn/PluginObject.cpp:66
&gt;      char message[2048] = &quot;PLUGIN: &quot;;
&gt; -    vsprintf(message + strlen(message), format, args);
&gt; +    vsnprintf(message + strlen(message), 2040, format, args);

Why 2040 and not 2048 ?  Also, these libc functions don&apos;t necessarily \0-terminate strings, so it&apos;s a good practice to explicitly write a &apos;\0&apos; at the end of the array after calling these functions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>699898</commentid>
    <comment_count>3</comment_count>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2012-08-20 13:49:04 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 159511 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=159511&amp;action=review
&gt; 
&gt; &gt; Tools/DumpRenderTree/TestNetscapePlugIn/PluginObject.cpp:66
&gt; &gt;      char message[2048] = &quot;PLUGIN: &quot;;
&gt; &gt; -    vsprintf(message + strlen(message), format, args);
&gt; &gt; +    vsnprintf(message + strlen(message), 2040, format, args);
&gt; 
&gt; Why 2040 and not 2048 ?  Also, these libc functions don&apos;t necessarily \0-terminate strings, so it&apos;s a good practice to explicitly write a &apos;\0&apos; at the end of the array after calling these functions.

Because the first 8 bytes are the &quot;PLUGIN: &quot;, and I&apos;m a terrible person who uses magic numbers. Any preference on how I make this clearer?

Good point on the &apos;\0&apos;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>699902</commentid>
    <comment_count>4</comment_count>
      <attachid>159511</attachid>
    <who name="Thomas Sepez">tsepez</who>
    <bug_when>2012-08-20 13:51:02 -0700</bug_when>
    <thetext>Comment on attachment 159511
patch

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

&gt;&gt; Tools/DumpRenderTree/TestNetscapePlugIn/PluginObject.cpp:66
&gt;&gt; +    vsnprintf(message + strlen(message), 2040, format, args);
&gt; 
&gt; Why 2040 and not 2048 ?  Also, these libc functions don&apos;t necessarily \0-terminate strings, so it&apos;s a good practice to explicitly write a &apos;\0&apos; at the end of the array after calling these functions.

Also, so long as your calling strlen(), seems like both of these values should derive from that - as in 
2048 - strlen(message).  But don&apos;t call strlen() twice.  sizeof(&quot;PLUGIN: &quot;) -1 is also a suitable alternate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>699905</commentid>
    <comment_count>5</comment_count>
      <attachid>159511</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-08-20 13:51:50 -0700</bug_when>
    <thetext>Comment on attachment 159511
patch

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

&gt;&gt;&gt; Tools/DumpRenderTree/TestNetscapePlugIn/PluginObject.cpp:66
&gt;&gt;&gt; +    vsnprintf(message + strlen(message), 2040, format, args);
&gt;&gt; 
&gt;&gt; Why 2040 and not 2048 ?  Also, these libc functions don&apos;t necessarily \0-terminate strings, so it&apos;s a good practice to explicitly write a &apos;\0&apos; at the end of the array after calling these functions.
&gt; 
&gt; Because the first 8 bytes are the &quot;PLUGIN: &quot;, and I&apos;m a terrible person who uses magic numbers. Any preference on how I make this clearer?
&gt; 
&gt; Good point on the &apos;\0&apos;.

I see.  Yeah, that&apos;s easy to for dumb people like me to miss.  :)

const size_t messageBufferSize = 2048;
char message[2048] = &quot;PLUGIN: &quot;;
messageLength = strlen(message);
vsnprintf(message + messageLength, messageBufferSize - messageLength, format, args);
message[messageBufferSize - 1] = &apos;\0&apos;;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>699913</commentid>
    <comment_count>6</comment_count>
    <who name="Thomas Sepez">tsepez</who>
    <bug_when>2012-08-20 13:57:24 -0700</bug_when>
    <thetext>
&gt; char message[2048] = &quot;PLUGIN: &quot;;
&gt; messageLength = sizeof(&quot;PLUGIN: &quot;) - 1;
&gt; vsnprintf(message + messageLength, sizeof(message) - messageLength, format, args);
&gt; message[sizeof(message) - 1] = &apos;\0&apos;;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>699920</commentid>
    <comment_count>7</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-08-20 14:02:44 -0700</bug_when>
    <thetext>tsepez puts me to shame, as usual :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>699944</commentid>
    <comment_count>8</comment_count>
    <who name="Thomas Sepez">tsepez</who>
    <bug_when>2012-08-20 14:13:49 -0700</bug_when>
    <thetext>Still not happy that we say &quot;Plugin&quot; twice.  You should be able to tweak that string or the dimension of the buffer in one place and only one place and still have the code work.  Let&apos;s see:

&gt; char message[2048];
&gt; static const char plugin[] = &quot;PLUGIN: &quot;;
&gt; memcpy(message, plugin, sizeof(plugin) - 1);
&gt; vsnprintf(message + sizeof(plugin) - 1, sizeof(message) - (sizeof(plugin) - 1), format, args);
&gt; message[sizeof(message) - 1] = &apos;\0&apos;;

But I&apos;ve not tried it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>699958</commentid>
    <comment_count>9</comment_count>
      <attachid>159518</attachid>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2012-08-20 14:21:34 -0700</bug_when>
    <thetext>Created attachment 159518
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>699979</commentid>
    <comment_count>10</comment_count>
      <attachid>159518</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-08-20 14:32:46 -0700</bug_when>
    <thetext>Comment on attachment 159518
patch

This isn&apos;t my favorite idiom, but whatever man.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>699986</commentid>
    <comment_count>11</comment_count>
    <who name="Nate Chapin">japhet</who>
    <bug_when>2012-08-20 14:35:32 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 159518 [details])
&gt; This isn&apos;t my favorite idiom, but whatever man.

The way I wrote the code, or any code that matches .*printf.* ? :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>699991</commentid>
    <comment_count>12</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-08-20 14:38:20 -0700</bug_when>
    <thetext>&gt; The way I wrote the code, or any code that matches .*printf.* ? :)

:)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>699993</commentid>
    <comment_count>13</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-08-20 14:39:16 -0700</bug_when>
    <thetext>I think the root of the issue is that .*printf.* are so impossible to use correctly that they make the code that calls them super ugly, regardless of how it&apos;s written.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>700162</commentid>
    <comment_count>14</comment_count>
      <attachid>159518</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-20 16:39:54 -0700</bug_when>
    <thetext>Comment on attachment 159518
patch

Clearing flags on attachment: 159518

Committed r126089: &lt;http://trac.webkit.org/changeset/126089&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>700163</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-20 16:39:58 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>159511</attachid>
            <date>2012-08-20 13:41:55 -0700</date>
            <delta_ts>2012-08-20 14:21:34 -0700</delta_ts>
            <desc>patch</desc>
            <filename>vsprintf.txt</filename>
            <type>text/plain</type>
            <size>2695</size>
            <attacher name="Nate Chapin">japhet</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3ROZXRzY2FwZVBsdWdJbi9QbHVnaW5PYmpl
Y3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3ROZXRzY2FwZVBs
dWdJbi9QbHVnaW5PYmplY3QuY3BwCShyZXZpc2lvbiAxMjU5MzUpCisrKyBUb29scy9EdW1wUmVu
ZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4vUGx1Z2luT2JqZWN0LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNjAsMjMgKzYwLDEwIEBACiAgICAgYnJvd3Nlci0+cmVsZWFzZW9iamVjdChjb25zb2xl
T2JqZWN0KTsKIH0KIAotLy8gSGVscGVyIGZ1bmN0aW9uIHdoaWNoIHRha2VzIGluIHRoZSBwbHVn
aW4gd2luZG93IG9iamVjdCBmb3IgbG9nZ2luZyB0byB0aGUgY29uc29sZSBvYmplY3QuIFRoaXMg
ZnVuY3Rpb24gc3VwcG9ydHMgdmFyaWFibGUKLS8vIGFyZ3VtZW50cy4KLXN0YXRpYyB2b2lkIHBs
dWdpbkxvZ1dpdGhXaW5kb3dPYmplY3RWYXJpYWJsZUFyZ3MoTlBPYmplY3QqIHdpbmRvd09iamVj
dCwgTlBQIGluc3RhbmNlLCBjb25zdCBjaGFyKiBmb3JtYXQsIC4uLikKLXsKLSAgICB2YV9saXN0
IGFyZ3M7Ci0gICAgdmFfc3RhcnQoYXJncywgZm9ybWF0KTsKLSAgICBjaGFyIG1lc3NhZ2VbMjA0
OF0gPSAiUExVR0lOOiAiOwotICAgIHZzcHJpbnRmKG1lc3NhZ2UgKyBzdHJsZW4obWVzc2FnZSks
IGZvcm1hdCwgYXJncyk7Ci0gICAgdmFfZW5kKGFyZ3MpOwotCi0gICAgcGx1Z2luTG9nV2l0aFdp
bmRvd09iamVjdCh3aW5kb3dPYmplY3QsIGluc3RhbmNlLCBtZXNzYWdlKTsKLX0KLSAgICAgICAg
ICAgICAKIHZvaWQgcGx1Z2luTG9nV2l0aEFyZ3VtZW50cyhOUFAgaW5zdGFuY2UsIGNvbnN0IGNo
YXIqIGZvcm1hdCwgdmFfbGlzdCBhcmdzKQogewogICAgIGNoYXIgbWVzc2FnZVsyMDQ4XSA9ICJQ
TFVHSU46ICI7Ci0gICAgdnNwcmludGYobWVzc2FnZSArIHN0cmxlbihtZXNzYWdlKSwgZm9ybWF0
LCBhcmdzKTsKKyAgICB2c25wcmludGYobWVzc2FnZSArIHN0cmxlbihtZXNzYWdlKSwgMjA0MCwg
Zm9ybWF0LCBhcmdzKTsKIAogICAgIE5QT2JqZWN0KiB3aW5kb3dPYmplY3QgPSAwOwogICAgIE5Q
RXJyb3IgZXJyb3IgPSBicm93c2VyLT5nZXR2YWx1ZShpbnN0YW5jZSwgTlBOVldpbmRvd05QT2Jq
ZWN0LCAmd2luZG93T2JqZWN0KTsKQEAgLTkzNiw3ICs5MjMsNyBAQAogICAgICAgICByZXR1cm4g
ZmFsc2U7CiAgICAgfQogCi0gICAgcGx1Z2luTG9nV2l0aFdpbmRvd09iamVjdFZhcmlhYmxlQXJn
cyh3aW5kb3dPYmplY3QsIG5wcCwgIkRPQ1VNRU5UIE9QRU4gU1VDQ0VTUyIpOworICAgIHBsdWdp
bkxvZ1dpdGhXaW5kb3dPYmplY3Qod2luZG93T2JqZWN0LCBucHAsICJQTFVHSU46IERPQ1VNRU5U
IE9QRU4gU1VDQ0VTUyIpOwogICAgIG5vdGlmeVRlc3RDb21wbGV0aW9uKG5wcCwgcmVzdWx0LnZh
bHVlLm9iamVjdFZhbHVlKTsKICAgICBicm93c2VyLT5yZWxlYXNlb2JqZWN0KHJlc3VsdC52YWx1
ZS5vYmplY3RWYWx1ZSk7CiAgICAgYnJvd3Nlci0+cmVsZWFzZW9iamVjdCh3aW5kb3dPYmplY3Qp
OwpAQCAtOTY4LDcgKzk1NSw3IEBACiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKLSAg
ICBwbHVnaW5Mb2dXaXRoV2luZG93T2JqZWN0VmFyaWFibGVBcmdzKHdpbmRvd09iamVjdCwgbnBw
LCAiV0lORE9XIE9QRU4gU1VDQ0VTUyIpOworICAgIHBsdWdpbkxvZ1dpdGhXaW5kb3dPYmplY3Qo
d2luZG93T2JqZWN0LCBucHAsICJQTFVHSU46IFdJTkRPVyBPUEVOIFNVQ0NFU1MiKTsKICAgICBu
b3RpZnlUZXN0Q29tcGxldGlvbihucHAsIHJlc3VsdC52YWx1ZS5vYmplY3RWYWx1ZSk7CiAgICAg
YnJvd3Nlci0+cmVsZWFzZW9iamVjdChyZXN1bHQudmFsdWUub2JqZWN0VmFsdWUpOwogICAgIGJy
b3dzZXItPnJlbGVhc2VvYmplY3Qod2luZG93T2JqZWN0KTsKSW5kZXg6IFRvb2xzL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyNjA1OSkKKysrIFRv
b2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDEyLTA4LTIw
ICBOYXRlIENoYXBpbiAgPGphcGhldEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgVW5zYWZlIHZz
cHJpbnRmIHVzYWdlIGluIFRlc3ROZXRzY2FwZVBsdWdpbgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTQ1MjIKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL1Rlc3ROZXRzY2FwZVBs
dWdJbi9QbHVnaW5PYmplY3QuY3BwOgorICAgICAgICAocGx1Z2luTG9nV2l0aEFyZ3VtZW50cyk6
IFVzaW5nIHZzbnByaW50ZiBpbnN0ZWFkIG9mIHZzcHJpbnRmIHRvIGVuc3VyZSB3ZSBkb24ndCBv
dmVyZmxvdworICAgICAgICAgICAgdGhlIG1lc3NhZ2UgYnVmZmVyLgorICAgICAgICAodGVzdERv
Y3VtZW50T3Blbik6CisgICAgICAgICh0ZXN0V2luZG93T3Blbik6CisKIDIwMTItMDgtMjAgIERp
cmsgUHJhbmtlICA8ZHByYW5rZUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgTlJXVCByZXBvcnRz
IHVuZXhwZWN0ZWQgRU9GCg==
</data>
<flag name="review"
          id="169840"
          type_id="1"
          status="+"
          setter="abarth"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>159518</attachid>
            <date>2012-08-20 14:21:34 -0700</date>
            <delta_ts>2012-08-20 16:39:54 -0700</delta_ts>
            <desc>patch</desc>
            <filename>vsprintf.txt</filename>
            <type>text/plain</type>
            <size>2923</size>
            <attacher name="Nate Chapin">japhet</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3ROZXRzY2FwZVBsdWdJbi9QbHVnaW5PYmpl
Y3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0R1bXBSZW5kZXJUcmVlL1Rlc3ROZXRzY2FwZVBs
dWdJbi9QbHVnaW5PYmplY3QuY3BwCShyZXZpc2lvbiAxMjU5MzUpCisrKyBUb29scy9EdW1wUmVu
ZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4vUGx1Z2luT2JqZWN0LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNjAsMjMgKzYwLDEzIEBACiAgICAgYnJvd3Nlci0+cmVsZWFzZW9iamVjdChjb25zb2xl
T2JqZWN0KTsKIH0KIAotLy8gSGVscGVyIGZ1bmN0aW9uIHdoaWNoIHRha2VzIGluIHRoZSBwbHVn
aW4gd2luZG93IG9iamVjdCBmb3IgbG9nZ2luZyB0byB0aGUgY29uc29sZSBvYmplY3QuIFRoaXMg
ZnVuY3Rpb24gc3VwcG9ydHMgdmFyaWFibGUKLS8vIGFyZ3VtZW50cy4KLXN0YXRpYyB2b2lkIHBs
dWdpbkxvZ1dpdGhXaW5kb3dPYmplY3RWYXJpYWJsZUFyZ3MoTlBPYmplY3QqIHdpbmRvd09iamVj
dCwgTlBQIGluc3RhbmNlLCBjb25zdCBjaGFyKiBmb3JtYXQsIC4uLikKLXsKLSAgICB2YV9saXN0
IGFyZ3M7Ci0gICAgdmFfc3RhcnQoYXJncywgZm9ybWF0KTsKLSAgICBjaGFyIG1lc3NhZ2VbMjA0
OF0gPSAiUExVR0lOOiAiOwotICAgIHZzcHJpbnRmKG1lc3NhZ2UgKyBzdHJsZW4obWVzc2FnZSks
IGZvcm1hdCwgYXJncyk7Ci0gICAgdmFfZW5kKGFyZ3MpOwotCi0gICAgcGx1Z2luTG9nV2l0aFdp
bmRvd09iamVjdCh3aW5kb3dPYmplY3QsIGluc3RhbmNlLCBtZXNzYWdlKTsKLX0KLSAgICAgICAg
ICAgICAKIHZvaWQgcGx1Z2luTG9nV2l0aEFyZ3VtZW50cyhOUFAgaW5zdGFuY2UsIGNvbnN0IGNo
YXIqIGZvcm1hdCwgdmFfbGlzdCBhcmdzKQogewotICAgIGNoYXIgbWVzc2FnZVsyMDQ4XSA9ICJQ
TFVHSU46ICI7Ci0gICAgdnNwcmludGYobWVzc2FnZSArIHN0cmxlbihtZXNzYWdlKSwgZm9ybWF0
LCBhcmdzKTsKKyAgICBjb25zdCBzaXplX3QgbWVzc2FnZUJ1ZmZlclNpemUgPSAyMDQ4OworICAg
IGNoYXIgbWVzc2FnZVttZXNzYWdlQnVmZmVyU2l6ZV0gPSAiUExVR0lOOiAiOworICAgIGludCBt
ZXNzYWdlTGVuZ3RoID0gc2l6ZW9mKCJQTFVHSU46ICIpIC0gMTsKKyAgICBtZXNzYWdlTGVuZ3Ro
ICs9IHZzbnByaW50ZihtZXNzYWdlICsgbWVzc2FnZUxlbmd0aCwgbWVzc2FnZUJ1ZmZlclNpemUg
LSAxIC0gbWVzc2FnZUxlbmd0aCwgZm9ybWF0LCBhcmdzKTsKKyAgICBtZXNzYWdlW21lc3NhZ2VM
ZW5ndGhdID0gJ1wwJzsKIAogICAgIE5QT2JqZWN0KiB3aW5kb3dPYmplY3QgPSAwOwogICAgIE5Q
RXJyb3IgZXJyb3IgPSBicm93c2VyLT5nZXR2YWx1ZShpbnN0YW5jZSwgTlBOVldpbmRvd05QT2Jq
ZWN0LCAmd2luZG93T2JqZWN0KTsKQEAgLTkzNiw3ICs5MjYsNyBAQAogICAgICAgICByZXR1cm4g
ZmFsc2U7CiAgICAgfQogCi0gICAgcGx1Z2luTG9nV2l0aFdpbmRvd09iamVjdFZhcmlhYmxlQXJn
cyh3aW5kb3dPYmplY3QsIG5wcCwgIkRPQ1VNRU5UIE9QRU4gU1VDQ0VTUyIpOworICAgIHBsdWdp
bkxvZ1dpdGhXaW5kb3dPYmplY3Qod2luZG93T2JqZWN0LCBucHAsICJQTFVHSU46IERPQ1VNRU5U
IE9QRU4gU1VDQ0VTUyIpOwogICAgIG5vdGlmeVRlc3RDb21wbGV0aW9uKG5wcCwgcmVzdWx0LnZh
bHVlLm9iamVjdFZhbHVlKTsKICAgICBicm93c2VyLT5yZWxlYXNlb2JqZWN0KHJlc3VsdC52YWx1
ZS5vYmplY3RWYWx1ZSk7CiAgICAgYnJvd3Nlci0+cmVsZWFzZW9iamVjdCh3aW5kb3dPYmplY3Qp
OwpAQCAtOTY4LDcgKzk1OCw3IEBACiAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKLSAg
ICBwbHVnaW5Mb2dXaXRoV2luZG93T2JqZWN0VmFyaWFibGVBcmdzKHdpbmRvd09iamVjdCwgbnBw
LCAiV0lORE9XIE9QRU4gU1VDQ0VTUyIpOworICAgIHBsdWdpbkxvZ1dpdGhXaW5kb3dPYmplY3Qo
d2luZG93T2JqZWN0LCBucHAsICJQTFVHSU46IFdJTkRPVyBPUEVOIFNVQ0NFU1MiKTsKICAgICBu
b3RpZnlUZXN0Q29tcGxldGlvbihucHAsIHJlc3VsdC52YWx1ZS5vYmplY3RWYWx1ZSk7CiAgICAg
YnJvd3Nlci0+cmVsZWFzZW9iamVjdChyZXN1bHQudmFsdWUub2JqZWN0VmFsdWUpOwogICAgIGJy
b3dzZXItPnJlbGVhc2VvYmplY3Qod2luZG93T2JqZWN0KTsKSW5kZXg6IFRvb2xzL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDEyNjA1OSkKKysrIFRv
b2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDEyLTA4LTIw
ICBOYXRlIENoYXBpbiAgPGphcGhldEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgVW5zYWZlIHZz
cHJpbnRmIHVzYWdlIGluIFRlc3ROZXRzY2FwZVBsdWdpbgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTQ1MjIKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL1Rlc3ROZXRzY2FwZVBs
dWdJbi9QbHVnaW5PYmplY3QuY3BwOgorICAgICAgICAocGx1Z2luTG9nV2l0aEFyZ3VtZW50cyk6
IFVzaW5nIHZzbnByaW50ZiBpbnN0ZWFkIG9mIHZzcHJpbnRmIHRvIGVuc3VyZSB3ZSBkb24ndCBv
dmVyZmxvdworICAgICAgICAgICAgdGhlIG1lc3NhZ2UgYnVmZmVyLgorICAgICAgICAodGVzdERv
Y3VtZW50T3Blbik6CisgICAgICAgICh0ZXN0V2luZG93T3Blbik6CisKIDIwMTItMDgtMjAgIERp
cmsgUHJhbmtlICA8ZHByYW5rZUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgTlJXVCByZXBvcnRz
IHVuZXhwZWN0ZWQgRU9GCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>