<?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>7681</bug_id>
          
          <creation_ts>2006-03-09 07:28:09 -0800</creation_ts>
          <short_desc>memory leak in the plug-in tests</short_desc>
          <delta_ts>2006-03-10 11:24:34 -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>Plug-ins</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</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="Darin Adler">darin</assigned_to>
          <cc>ap</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>35621</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-03-09 07:28:09 -0800</bug_when>
    <thetext>I noticed that the new plug-in tests are exhibiting leaks. The bug is in the test plug-in. I have a fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>35623</commentid>
    <comment_count>1</comment_count>
      <attachid>6958</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-03-09 07:40:49 -0800</bug_when>
    <thetext>Created attachment 6958
patch with detailed change log</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>35631</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2006-03-09 08:33:52 -0800</bug_when>
    <thetext>&gt; Changed code to put the strings in malloc buffers instead of relying on GCC&apos;s extension 
&gt; that allows variable-sized arrays on the stack.

Didn&apos;t this use a standard C99 feature (although gcc variable-sized arrays aren&apos;t exactly the same as C99 ones)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>35633</commentid>
    <comment_count>3</comment_count>
      <attachid>6958</attachid>
    <who name="John Sullivan">sullivan</who>
    <bug_when>2006-03-09 09:11:06 -0800</bug_when>
    <thetext>Comment on attachment 6958
patch with detailed change log

Nice clean-up, r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>35749</commentid>
    <comment_count>4</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-03-10 11:24:34 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Didn&apos;t this use a standard C99 feature (although gcc variable-sized arrays
&gt; aren&apos;t exactly the same as C99 ones)?

There are good reasons to not use this in general, even though it&apos;s present in C99.

For one thing, we don&apos;t have a C99-compliant compiler on all the paltforms we target. For another, using a variable amount of stack can cause problems on OS X. Because of that, we generally don&apos;t use this technique in any production code. A test tool doesn&apos;t quite qualify as production code, of course.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>6958</attachid>
            <date>2006-03-09 07:40:49 -0800</date>
            <delta_ts>2006-03-09 09:11:06 -0800</delta_ts>
            <desc>patch with detailed change log</desc>
            <filename>TestPlugInLeakPatch.txt</filename>
            <type>text/plain</type>
            <size>14282</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">SW5kZXg6IER1bXBSZW5kZXJUcmVlL1Rlc3ROZXRzY2FwZVBsdWdJbi5zdWJwcm9qL21haW4uYwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBEdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4uc3VicHJvai9t
YWluLmMJKHJldmlzaW9uIDEzMjI4KQorKysgRHVtcFJlbmRlclRyZWUvVGVzdE5ldHNjYXBlUGx1
Z0luLnN1YnByb2ovbWFpbi5jCSh3b3JraW5nIGNvcHkpCkBAIC0zMCwxMCArMzAsOSBAQAogIFdI
RVRIRVIgVU5ERVIgVEhFT1JZIE9GIENPTlRSQUNULCBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSksIFNUUklDVCBMSUFCSUxJVFkgT1IgCiAgT1RIRVJXSVNFLCBFVkVOIElGIEFQUExFIEhBUyBC
RUVOIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCisKICNp
bXBvcnQgIlBsdWdpbk9iamVjdC5oIgogCi1OUE5ldHNjYXBlRnVuY3MgKmJyb3dzZXI7Ci0KIC8v
IE1hY2gtbyBlbnRyeSBwb2ludHMKIE5QRXJyb3IgTlBfSW5pdGlhbGl6ZShOUE5ldHNjYXBlRnVu
Y3MgKmJyb3dzZXJGdW5jcyk7CiBOUEVycm9yIE5QX0dldEVudHJ5UG9pbnRzKE5QUGx1Z2luRnVu
Y3MgKnBsdWdpbkZ1bmNzKTsKQEAgLTY5LDM0ICs2OCwyOCBAQAogCiB2b2lkIE5QX1NodXRkb3du
KHZvaWQpCiB7Ci0gICAgCiB9CiAKIE5QRXJyb3IgTlBQX05ldyhOUE1JTUVUeXBlIHBsdWdpblR5
cGUsIE5QUCBpbnN0YW5jZSwgdWludDE2IG1vZGUsIGludDE2IGFyZ2MsIGNoYXIgKmFyZ25bXSwg
Y2hhciAqYXJndltdLCBOUFNhdmVkRGF0YSAqc2F2ZWQpCiB7CiAgICAgaWYgKGJyb3dzZXItPnZl
cnNpb24gPj0gMTQpCi0gICAgICAgIGluc3RhbmNlLT5wZGF0YSA9IGJyb3dzZXItPmNyZWF0ZW9i
amVjdCAoaW5zdGFuY2UsIGdldFBsdWdpbkNsYXNzKCkpOwotICAgIAorICAgICAgICBpbnN0YW5j
ZS0+cGRhdGEgPSBicm93c2VyLT5jcmVhdGVvYmplY3QoaW5zdGFuY2UsIGdldFBsdWdpbkNsYXNz
KCkpOwogICAgIHJldHVybiBOUEVSUl9OT19FUlJPUjsKIH0KIAogTlBFcnJvciBOUFBfRGVzdHJv
eShOUFAgaW5zdGFuY2UsIE5QU2F2ZWREYXRhICoqc2F2ZSkKIHsKKyAgICBQbHVnaW5PYmplY3Qg
Km9iaiA9IGluc3RhbmNlLT5wZGF0YTsKKyAgICBpZiAob2JqKQorICAgICAgICBicm93c2VyLT5y
ZWxlYXNlb2JqZWN0KCZvYmotPmhlYWRlcik7CiAgICAgcmV0dXJuIE5QRVJSX05PX0VSUk9SOwog
fQogCiBOUEVycm9yIE5QUF9TZXRXaW5kb3coTlBQIGluc3RhbmNlLCBOUFdpbmRvdyAqd2luZG93
KQogewotICAgIFBsdWdpbk9iamVjdCAqb2JqID0gaW5zdGFuY2UtPnBkYXRhOwotICAgIAotICAg
IC8vIERvIG5vdGhpbmcgaWYgYnJvd3NlciBkaWRuJ3Qgc3VwcG9ydCBOUE5fQ3JlYXRlT2JqZWN0
IHdoaWNoIHdvdWxkIGhhdmUgY3JlYXRlZCB0aGUgUGx1Z2luT2JqZWN0LgotICAgIGlmIChvYmog
IT0gTlVMTCkKLSAgICAgICAgb2JqLT53aW5kb3cgPSB3aW5kb3c7Ci0gICAgCiAgICAgcmV0dXJu
IE5QRVJSX05PX0VSUk9SOwogfQogCi0KIE5QRXJyb3IgTlBQX05ld1N0cmVhbShOUFAgaW5zdGFu
Y2UsIE5QTUlNRVR5cGUgdHlwZSwgTlBTdHJlYW0gKnN0cmVhbSwgTlBCb29sIHNlZWthYmxlLCB1
aW50MTYgKnN0eXBlKQogewogICAgICpzdHlwZSA9IE5QX0FTRklMRU9OTFk7CkBAIC0xMjAsMTIg
KzExMywxMCBAQAogCiB2b2lkIE5QUF9TdHJlYW1Bc0ZpbGUoTlBQIGluc3RhbmNlLCBOUFN0cmVh
bSAqc3RyZWFtLCBjb25zdCBjaGFyICpmbmFtZSkKIHsKLSAgICAKIH0KIAogdm9pZCBOUFBfUHJp
bnQoTlBQIGluc3RhbmNlLCBOUFByaW50ICpwbGF0Zm9ybVByaW50KQogewotICAgIAogfQogCiBp
bnQxNiBOUFBfSGFuZGxlRXZlbnQoTlBQIGluc3RhbmNlLCB2b2lkICpldmVudCkKQEAgLTEzNSw3
ICsxMjYsNiBAQAogCiB2b2lkIE5QUF9VUkxOb3RpZnkoTlBQIGluc3RhbmNlLCBjb25zdCBjaGFy
ICp1cmwsIE5QUmVhc29uIHJlYXNvbiwgdm9pZCAqbm90aWZ5RGF0YSkKIHsKLSAgICAKIH0KIAog
TlBFcnJvciBOUFBfR2V0VmFsdWUoTlBQIGluc3RhbmNlLCBOUFBWYXJpYWJsZSB2YXJpYWJsZSwg
dm9pZCAqdmFsdWUpCkluZGV4OiBEdW1wUmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4uc3Vi
cHJvai9QbHVnaW5PYmplY3QuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBEdW1wUmVuZGVyVHJlZS9UZXN0TmV0
c2NhcGVQbHVnSW4uc3VicHJvai9QbHVnaW5PYmplY3QuYwkocmV2aXNpb24gMTMyMjgpCisrKyBE
dW1wUmVuZGVyVHJlZS9UZXN0TmV0c2NhcGVQbHVnSW4uc3VicHJvai9QbHVnaW5PYmplY3QuYwko
d29ya2luZyBjb3B5KQpAQCAtMzAsMzQgKzMwLDM3IEBACiAgV0hFVEhFUiBVTkRFUiBUSEVPUlkg
T0YgQ09OVFJBQ1QsIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFKSwgU1RSSUNUIExJQUJJTElU
WSBPUiAKICBPVEhFUldJU0UsIEVWRU4gSUYgQVBQTEUgSEFTIEJFRU4gQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KKwogI2ltcG9ydCAiUGx1Z2luT2JqZWN0
LmgiCiAKLXZvaWQgcGx1Z2luSW52YWxpZGF0ZSAoKTsKLWJvb2wgcGx1Z2luSGFzUHJvcGVydHkg
KE5QQ2xhc3MgKnRoZUNsYXNzLCBOUElkZW50aWZpZXIgbmFtZSk7Ci1ib29sIHBsdWdpbkhhc01l
dGhvZCAoTlBDbGFzcyAqdGhlQ2xhc3MsIE5QSWRlbnRpZmllciBuYW1lKTsKLXZvaWQgcGx1Z2lu
R2V0UHJvcGVydHkgKFBsdWdpbk9iamVjdCAqb2JqLCBOUElkZW50aWZpZXIgbmFtZSwgTlBWYXJp
YW50ICp2YXJpYW50KTsKLXZvaWQgcGx1Z2luU2V0UHJvcGVydHkgKFBsdWdpbk9iamVjdCAqb2Jq
LCBOUElkZW50aWZpZXIgbmFtZSwgY29uc3QgTlBWYXJpYW50ICp2YXJpYW50KTsKLXZvaWQgcGx1
Z2luSW52b2tlIChQbHVnaW5PYmplY3QgKm9iaiwgTlBJZGVudGlmaWVyIG5hbWUsIE5QVmFyaWFu
dCAqYXJncywgdWludDMyX3QgYXJnQ291bnQsIE5QVmFyaWFudCAqcmVzdWx0KTsKLXZvaWQgcGx1
Z2luSW52b2tlRGVmYXVsdCAoUGx1Z2luT2JqZWN0ICpvYmosIE5QVmFyaWFudCAqYXJncywgdWlu
dDMyX3QgYXJnQ291bnQsIE5QVmFyaWFudCAqcmVzdWx0KTsKLU5QT2JqZWN0ICpwbHVnaW5BbGxv
Y2F0ZSAoTlBQIG5wcCwgTlBDbGFzcyAqdGhlQ2xhc3MpOwotdm9pZCBwbHVnaW5EZWFsbG9jYXRl
IChQbHVnaW5PYmplY3QgKm9iaik7CitzdGF0aWMgdm9pZCBwbHVnaW5JbnZhbGlkYXRlKE5QT2Jq
ZWN0ICpvYmopOworc3RhdGljIGJvb2wgcGx1Z2luSGFzUHJvcGVydHkoTlBPYmplY3QgKm9iaiwg
TlBJZGVudGlmaWVyIG5hbWUpOworc3RhdGljIGJvb2wgcGx1Z2luSGFzTWV0aG9kKE5QT2JqZWN0
ICpvYmosIE5QSWRlbnRpZmllciBuYW1lKTsKK3N0YXRpYyBib29sIHBsdWdpbkdldFByb3BlcnR5
KE5QT2JqZWN0ICpvYmosIE5QSWRlbnRpZmllciBuYW1lLCBOUFZhcmlhbnQgKnZhcmlhbnQpOwor
c3RhdGljIGJvb2wgcGx1Z2luU2V0UHJvcGVydHkoTlBPYmplY3QgKm9iaiwgTlBJZGVudGlmaWVy
IG5hbWUsIGNvbnN0IE5QVmFyaWFudCAqdmFyaWFudCk7CitzdGF0aWMgYm9vbCBwbHVnaW5JbnZv
a2UoTlBPYmplY3QgKm9iaiwgTlBJZGVudGlmaWVyIG5hbWUsIGNvbnN0IE5QVmFyaWFudCAqYXJn
cywgdWludDMyX3QgYXJnQ291bnQsIE5QVmFyaWFudCAqcmVzdWx0KTsKK3N0YXRpYyBib29sIHBs
dWdpbkludm9rZURlZmF1bHQoTlBPYmplY3QgKm9iaiwgY29uc3QgTlBWYXJpYW50ICphcmdzLCB1
aW50MzJfdCBhcmdDb3VudCwgTlBWYXJpYW50ICpyZXN1bHQpOworc3RhdGljIE5QT2JqZWN0ICpw
bHVnaW5BbGxvY2F0ZShOUFAgbnBwLCBOUENsYXNzICp0aGVDbGFzcyk7CitzdGF0aWMgdm9pZCBw
bHVnaW5EZWFsbG9jYXRlKE5QT2JqZWN0ICpvYmopOwogCi1zdGF0aWMgTlBDbGFzcyBfcGx1Z2lu
RnVuY3Rpb25QdHJzID0geyAKK05QTmV0c2NhcGVGdW5jcyAqYnJvd3NlcjsKKworc3RhdGljIE5Q
Q2xhc3MgcGx1Z2luQ2xhc3MgPSB7IAogICAgIE5QX0NMQVNTX1NUUlVDVF9WRVJTSU9OLAotICAg
IChOUEFsbG9jYXRlRnVuY3Rpb25QdHIpIHBsdWdpbkFsbG9jYXRlLCAKLSAgICAoTlBEZWFsbG9j
YXRlRnVuY3Rpb25QdHIpIHBsdWdpbkRlYWxsb2NhdGUsIAotICAgIChOUEludmFsaWRhdGVGdW5j
dGlvblB0cikgcGx1Z2luSW52YWxpZGF0ZSwKLSAgICAoTlBIYXNNZXRob2RGdW5jdGlvblB0cikg
cGx1Z2luSGFzTWV0aG9kLAotICAgIChOUEludm9rZUZ1bmN0aW9uUHRyKSBwbHVnaW5JbnZva2Us
Ci0gICAgKE5QSW52b2tlRGVmYXVsdEZ1bmN0aW9uUHRyKSBwbHVnaW5JbnZva2VEZWZhdWx0LAot
ICAgIChOUEhhc1Byb3BlcnR5RnVuY3Rpb25QdHIpIHBsdWdpbkhhc1Byb3BlcnR5LAotICAgIChO
UEdldFByb3BlcnR5RnVuY3Rpb25QdHIpIHBsdWdpbkdldFByb3BlcnR5LAotICAgIChOUFNldFBy
b3BlcnR5RnVuY3Rpb25QdHIpIHBsdWdpblNldFByb3BlcnR5LAorICAgIHBsdWdpbkFsbG9jYXRl
LCAKKyAgICBwbHVnaW5EZWFsbG9jYXRlLCAKKyAgICBwbHVnaW5JbnZhbGlkYXRlLAorICAgIHBs
dWdpbkhhc01ldGhvZCwKKyAgICBwbHVnaW5JbnZva2UsCisgICAgcGx1Z2luSW52b2tlRGVmYXVs
dCwKKyAgICBwbHVnaW5IYXNQcm9wZXJ0eSwKKyAgICBwbHVnaW5HZXRQcm9wZXJ0eSwKKyAgICBw
bHVnaW5TZXRQcm9wZXJ0eSwKIH07CiAgCiBOUENsYXNzICpnZXRQbHVnaW5DbGFzcyh2b2lkKQog
ewotICAgIHJldHVybiAmX3BsdWdpbkZ1bmN0aW9uUHRyczsKKyAgICByZXR1cm4gJnBsdWdpbkNs
YXNzOwogfQogCiBzdGF0aWMgYm9vbCBpZGVudGlmaWVyc0luaXRpYWxpemVkID0gZmFsc2U7CkBA
IC04MCw1OCArODMsNTQgQEAKICAgICAiZ2V0VVJMIgogfTsKIAotc3RhdGljIHZvaWQgaW5pdGlh
bGl6ZUlkZW50aWZpZXJzKCkKK3N0YXRpYyB2b2lkIGluaXRpYWxpemVJZGVudGlmaWVycyh2b2lk
KQogewotICAgIGJyb3dzZXItPmdldHN0cmluZ2lkZW50aWZpZXJzIChwbHVnaW5Qcm9wZXJ0eUlk
ZW50aWZpZXJOYW1lcywgTlVNX1BST1BFUlRZX0lERU5USUZJRVJTLCBwbHVnaW5Qcm9wZXJ0eUlk
ZW50aWZpZXJzKTsKLSAgICBicm93c2VyLT5nZXRzdHJpbmdpZGVudGlmaWVycyAocGx1Z2luTWV0
aG9kSWRlbnRpZmllck5hbWVzLCBOVU1fTUVUSE9EX0lERU5USUZJRVJTLCBwbHVnaW5NZXRob2RJ
ZGVudGlmaWVycyk7Ci19OworICAgIGJyb3dzZXItPmdldHN0cmluZ2lkZW50aWZpZXJzKHBsdWdp
blByb3BlcnR5SWRlbnRpZmllck5hbWVzLCBOVU1fUFJPUEVSVFlfSURFTlRJRklFUlMsIHBsdWdp
blByb3BlcnR5SWRlbnRpZmllcnMpOworICAgIGJyb3dzZXItPmdldHN0cmluZ2lkZW50aWZpZXJz
KHBsdWdpbk1ldGhvZElkZW50aWZpZXJOYW1lcywgTlVNX01FVEhPRF9JREVOVElGSUVSUywgcGx1
Z2luTWV0aG9kSWRlbnRpZmllcnMpOworfQogCi1ib29sIHBsdWdpbkhhc1Byb3BlcnR5IChOUENs
YXNzICp0aGVDbGFzcywgTlBJZGVudGlmaWVyIG5hbWUpCitzdGF0aWMgYm9vbCBwbHVnaW5IYXNQ
cm9wZXJ0eShOUE9iamVjdCAqb2JqLCBOUElkZW50aWZpZXIgbmFtZSkKIHsKLSAgICBmb3IgKGlu
dCBpID0gMDsgaSA8IE5VTV9QUk9QRVJUWV9JREVOVElGSUVSUzsgaSsrKSB7CisgICAgZm9yIChp
bnQgaSA9IDA7IGkgPCBOVU1fUFJPUEVSVFlfSURFTlRJRklFUlM7IGkrKykKICAgICAgICAgaWYg
KG5hbWUgPT0gcGx1Z2luUHJvcGVydHlJZGVudGlmaWVyc1tpXSkKICAgICAgICAgICAgIHJldHVy
biB0cnVlOwotICAgIH0KICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLWJvb2wgcGx1Z2luSGFzTWV0
aG9kIChOUENsYXNzICp0aGVDbGFzcywgTlBJZGVudGlmaWVyIG5hbWUpCitzdGF0aWMgYm9vbCBw
bHVnaW5IYXNNZXRob2QoTlBPYmplY3QgKm9iaiwgTlBJZGVudGlmaWVyIG5hbWUpCiB7Ci0gICAg
Zm9yIChpbnQgaSA9IDA7IGkgPCBOVU1fTUVUSE9EX0lERU5USUZJRVJTOyBpKyspIHsKKyAgICBm
b3IgKGludCBpID0gMDsgaSA8IE5VTV9NRVRIT0RfSURFTlRJRklFUlM7IGkrKykKICAgICAgICAg
aWYgKG5hbWUgPT0gcGx1Z2luTWV0aG9kSWRlbnRpZmllcnNbaV0pCiAgICAgICAgICAgICByZXR1
cm4gdHJ1ZTsKLSAgICB9CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCi12b2lkIHBsdWdpbkdldFBy
b3BlcnR5IChQbHVnaW5PYmplY3QgKm9iaiwgTlBJZGVudGlmaWVyIG5hbWUsIE5QVmFyaWFudCAq
dmFyaWFudCkKK3N0YXRpYyBib29sIHBsdWdpbkdldFByb3BlcnR5KE5QT2JqZWN0ICpvYmosIE5Q
SWRlbnRpZmllciBuYW1lLCBOUFZhcmlhbnQgKnZhcmlhbnQpCiB7CiAgICAgaWYgKG5hbWUgPT0g
cGx1Z2luUHJvcGVydHlJZGVudGlmaWVyc1tJRF9QUk9QRVJUWV9QUk9QRVJUWV0pIHsKLSAgICAg
ICAgLy8ganVzdCByZXR1cm4gInByb3BlcnR5IgotICAgICAgICBOUFN0cmluZyBwcm9wZXJ0eU5h
bWVTdHJpbmc7Ci0gICAgICAgIHByb3BlcnR5TmFtZVN0cmluZy5VVEY4Q2hhcmFjdGVycyA9ICJw
cm9wZXJ0eSI7Ci0gICAgICAgIHByb3BlcnR5TmFtZVN0cmluZy5VVEY4TGVuZ3RoID0gc2l6ZW9m
KCJwcm9wZXJ0eSIpIC0gMTsKLSAgICAgICAgdmFyaWFudC0+dHlwZSA9IE5QVmFyaWFudFR5cGVf
U3RyaW5nOwotICAgICAgICB2YXJpYW50LT52YWx1ZS5zdHJpbmdWYWx1ZSA9IHByb3BlcnR5TmFt
ZVN0cmluZzsKLSAgICB9IGVsc2UKLSAgICAgICAgdmFyaWFudC0+dHlwZSA9IE5QVmFyaWFudFR5
cGVfVm9pZDsKKyAgICAgICAgU1RSSU5HWl9UT19OUFZBUklBTlQoInByb3BlcnR5IiwgKnZhcmlh
bnQpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgcmV0dXJuIGZhbHNlOwogfQog
Ci12b2lkIHBsdWdpblNldFByb3BlcnR5IChQbHVnaW5PYmplY3QgKm9iaiwgTlBJZGVudGlmaWVy
IG5hbWUsIGNvbnN0IE5QVmFyaWFudCAqdmFyaWFudCkKK3N0YXRpYyBib29sIHBsdWdpblNldFBy
b3BlcnR5KE5QT2JqZWN0ICpvYmosIE5QSWRlbnRpZmllciBuYW1lLCBjb25zdCBOUFZhcmlhbnQg
KnZhcmlhbnQpCiB7CisgICAgcmV0dXJuIGZhbHNlOwogfQogCi12b2lkIHBsdWdpbkludm9rZSAo
UGx1Z2luT2JqZWN0ICpvYmosIE5QSWRlbnRpZmllciBuYW1lLCBOUFZhcmlhbnQgKmFyZ3MsIHVu
c2lnbmVkIGFyZ0NvdW50LCBOUFZhcmlhbnQgKnJlc3VsdCkKK3N0YXRpYyBib29sIHBsdWdpbklu
dm9rZShOUE9iamVjdCAqaGVhZGVyLCBOUElkZW50aWZpZXIgbmFtZSwgY29uc3QgTlBWYXJpYW50
ICphcmdzLCB1aW50MzJfdCBhcmdDb3VudCwgTlBWYXJpYW50ICpyZXN1bHQpCiB7CisgICAgUGx1
Z2luT2JqZWN0ICpvYmogPSAoUGx1Z2luT2JqZWN0ICopaGVhZGVyOwogICAgIGlmIChuYW1lID09
IHBsdWdpbk1ldGhvZElkZW50aWZpZXJzW0lEX1RFU1RfQ0FMTEJBQ0tfTUVUSE9EXSkgewogICAg
ICAgICAvLyBjYWxsIHdoYXRldmVyIG1ldGhvZCBuYW1lIHdlJ3JlIGdpdmVuCi0gICAgICAgIGlm
IChhcmdDb3VudCA+IDAgJiYgYXJncy0+dHlwZSA9PSBOUFZhcmlhbnRUeXBlX1N0cmluZykgewor
ICAgICAgICBpZiAoYXJnQ291bnQgPiAwICYmIE5QVkFSSUFOVF9JU19TVFJJTkcoYXJnc1swXSkp
IHsKICAgICAgICAgICAgIE5QVmFyaWFudCBicm93c2VyUmVzdWx0OwogICAgICAgICAgICAgCiAg
ICAgICAgICAgICBOUE9iamVjdCAqd2luZG93U2NyaXB0T2JqZWN0OwogICAgICAgICAgICAgYnJv
d3Nlci0+Z2V0dmFsdWUob2JqLT5ucHAsIE5QUFZwbHVnaW5TY3JpcHRhYmxlTlBPYmplY3QsICZ3
aW5kb3dTY3JpcHRPYmplY3QpOwogCi0gICAgICAgICAgICBOUFN0cmluZyBhcmdTdHJpbmcgPSBh
cmdzWzBdLnZhbHVlLnN0cmluZ1ZhbHVlOworICAgICAgICAgICAgTlBTdHJpbmcgYXJnU3RyaW5n
ID0gTlBWQVJJQU5UX1RPX1NUUklORyhhcmdzWzBdKTsKICAgICAgICAgICAgIGludCBzaXplID0g
YXJnU3RyaW5nLlVURjhMZW5ndGggKyAxOwogICAgICAgICAgICAgTlBVVEY4IGNhbGxiYWNrU3Ry
aW5nW3NpemVdOwogICAgICAgICAgICAgc3RybmNweShjYWxsYmFja1N0cmluZywgYXJnU3RyaW5n
LlVURjhDaGFyYWN0ZXJzLCBhcmdTdHJpbmcuVVRGOExlbmd0aCk7CkBAIC0xMzksNDMgKzEzOCw0
OCBAQAogCiAgICAgICAgICAgICBOUElkZW50aWZpZXIgY2FsbGJhY2tNZXRob2RJRCA9IGJyb3dz
ZXItPmdldHN0cmluZ2lkZW50aWZpZXIoY2FsbGJhY2tTdHJpbmcpOwogICAgICAgICAgICAgYnJv
d3Nlci0+aW52b2tlKG9iai0+bnBwLCB3aW5kb3dTY3JpcHRPYmplY3QsIGNhbGxiYWNrTWV0aG9k
SUQsIDAsIDAsICZicm93c2VyUmVzdWx0KTsKKyAgICAgICAgICAgIGJyb3dzZXItPnJlbGVhc2V2
YXJpYW50dmFsdWUoJmJyb3dzZXJSZXN1bHQpOworCisgICAgICAgICAgICBWT0lEX1RPX05QVkFS
SUFOVCgqcmVzdWx0KTsKKyAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICB9CiAgICAg
fSBlbHNlIGlmIChuYW1lID09IHBsdWdpbk1ldGhvZElkZW50aWZpZXJzW0lEX1RFU1RfR0VUVVJM
XSkgewotICAgICAgICBpZiAoYXJnQ291bnQgPT0gMiAmJiBhcmdzWzBdLnR5cGUgPT0gTlBWYXJp
YW50VHlwZV9TdHJpbmcgJiYgYXJnc1sxXS50eXBlID09IE5QVmFyaWFudFR5cGVfU3RyaW5nKSB7
Ci0gICAgICAgICAgICBOUFN0cmluZyBhcmdTdHJpbmcgPSBhcmdzWzBdLnZhbHVlLnN0cmluZ1Zh
bHVlOwotICAgICAgICAgICAgaW50IHNpemUgPSBhcmdTdHJpbmcuVVRGOExlbmd0aCArIDE7Ci0g
ICAgICAgICAgICBOUFVURjggdXJsU3RyaW5nW3NpemVdOworICAgICAgICBpZiAoYXJnQ291bnQg
PT0gMiAmJiBOUFZBUklBTlRfSVNfU1RSSU5HKGFyZ3NbMF0pICYmIE5QVkFSSUFOVF9JU19TVFJJ
TkcoYXJnc1sxXSkpIHsKKyAgICAgICAgICAgIE5QU3RyaW5nIGFyZ1N0cmluZyA9IE5QVkFSSUFO
VF9UT19TVFJJTkcoYXJnc1swXSk7CisgICAgICAgICAgICBOUFVURjgqIHVybFN0cmluZyA9IG1h
bGxvYyhhcmdTdHJpbmcuVVRGOExlbmd0aCArIDEpOwogICAgICAgICAgICAgc3RybmNweSh1cmxT
dHJpbmcsIGFyZ1N0cmluZy5VVEY4Q2hhcmFjdGVycywgYXJnU3RyaW5nLlVURjhMZW5ndGgpOwot
ICAgICAgICAgICAgdXJsU3RyaW5nW3NpemUgLSAxXSA9ICdcMCc7CisgICAgICAgICAgICB1cmxT
dHJpbmdbYXJnU3RyaW5nLlVURjhMZW5ndGhdID0gJ1wwJzsKIAotICAgICAgICAgICAgYXJnU3Ry
aW5nID0gYXJnc1sxXS52YWx1ZS5zdHJpbmdWYWx1ZTsKLSAgICAgICAgICAgIHNpemUgPSBhcmdT
dHJpbmcuVVRGOExlbmd0aCArIDE7Ci0gICAgICAgICAgICBOUFVURjggdGFyZ2V0U3RyaW5nW3Np
emVdOworICAgICAgICAgICAgYXJnU3RyaW5nID0gTlBWQVJJQU5UX1RPX1NUUklORyhhcmdzWzFd
KTsKKyAgICAgICAgICAgIE5QVVRGOCogdGFyZ2V0U3RyaW5nID0gbWFsbG9jKGFyZ1N0cmluZy5V
VEY4TGVuZ3RoICsgMSk7CiAgICAgICAgICAgICBzdHJuY3B5KHRhcmdldFN0cmluZywgYXJnU3Ry
aW5nLlVURjhDaGFyYWN0ZXJzLCBhcmdTdHJpbmcuVVRGOExlbmd0aCk7Ci0gICAgICAgICAgICB0
YXJnZXRTdHJpbmdbc2l6ZSAtIDFdID0gJ1wwJzsKKyAgICAgICAgICAgIHRhcmdldFN0cmluZ1th
cmdTdHJpbmcuVVRGOExlbmd0aF0gPSAnXDAnOwogICAgICAgICAgICAgCiAgICAgICAgICAgICBi
cm93c2VyLT5nZXR1cmwob2JqLT5ucHAsIHVybFN0cmluZywgdGFyZ2V0U3RyaW5nKTsKKworICAg
ICAgICAgICAgZnJlZSh1cmxTdHJpbmcpOworICAgICAgICAgICAgZnJlZSh0YXJnZXRTdHJpbmcp
OworCisgICAgICAgICAgICBWT0lEX1RPX05QVkFSSUFOVCgqcmVzdWx0KTsKKyAgICAgICAgICAg
IHJldHVybiB0cnVlOwogICAgICAgICB9CiAgICAgfQogCi0KLSAgICByZXN1bHQtPnR5cGUgPSBO
UFZhcmlhbnRUeXBlX1ZvaWQ7CisgICAgcmV0dXJuIGZhbHNlOwogfQogCi12b2lkIHBsdWdpbklu
dm9rZURlZmF1bHQgKFBsdWdpbk9iamVjdCAqb2JqLCBOUFZhcmlhbnQgKmFyZ3MsIHVuc2lnbmVk
IGFyZ0NvdW50LCBOUFZhcmlhbnQgKnJlc3VsdCkKK3N0YXRpYyBib29sIHBsdWdpbkludm9rZURl
ZmF1bHQoTlBPYmplY3QgKm9iaiwgY29uc3QgTlBWYXJpYW50ICphcmdzLCB1aW50MzJfdCBhcmdD
b3VudCwgTlBWYXJpYW50ICpyZXN1bHQpCiB7Ci0gICAgcmVzdWx0LT50eXBlID0gTlBWYXJpYW50
VHlwZV9Wb2lkOworICAgIHJldHVybiBmYWxzZTsKIH0KIAotdm9pZCBwbHVnaW5JbnZhbGlkYXRl
ICgpCitzdGF0aWMgdm9pZCBwbHVnaW5JbnZhbGlkYXRlKE5QT2JqZWN0ICpvYmopCiB7Ci0gICAg
Ly8gTWFrZSBzdXJlIHdlJ3ZlIHJlbGVhc2VkIGFueSByZW1haW5naW5nIHJlZmVyZW5jZXMgdG8g
SmF2YVNjcmlwdAotICAgIC8vIG9iamVjdHMuCiB9CiAKLU5QT2JqZWN0ICpwbHVnaW5BbGxvY2F0
ZSAoTlBQIG5wcCwgTlBDbGFzcyAqdGhlQ2xhc3MpCitzdGF0aWMgTlBPYmplY3QgKnBsdWdpbkFs
bG9jYXRlKE5QUCBucHAsIE5QQ2xhc3MgKnRoZUNsYXNzKQogewotICAgIFBsdWdpbk9iamVjdCAq
bmV3SW5zdGFuY2UgPSAoUGx1Z2luT2JqZWN0ICopbWFsbG9jIChzaXplb2YoUGx1Z2luT2JqZWN0
KSk7CisgICAgUGx1Z2luT2JqZWN0ICpuZXdJbnN0YW5jZSA9IG1hbGxvYyhzaXplb2YoUGx1Z2lu
T2JqZWN0KSk7CiAgICAgCiAgICAgaWYgKCFpZGVudGlmaWVyc0luaXRpYWxpemVkKSB7CiAgICAg
ICAgIGlkZW50aWZpZXJzSW5pdGlhbGl6ZWQgPSB0cnVlOwpAQCAtMTg3LDggKzE5MSw3IEBACiAg
ICAgcmV0dXJuIChOUE9iamVjdCAqKW5ld0luc3RhbmNlOwogfQogCi12b2lkIHBsdWdpbkRlYWxs
b2NhdGUgKFBsdWdpbk9iamVjdCAqb2JqKSAKK3N0YXRpYyB2b2lkIHBsdWdpbkRlYWxsb2NhdGUo
TlBPYmplY3QgKm9iaikgCiB7Ci0gICAgZnJlZSAoKHZvaWQgKilvYmopOworICAgIGZyZWUob2Jq
KTsKIH0KLQpJbmRleDogRHVtcFJlbmRlclRyZWUvVGVzdE5ldHNjYXBlUGx1Z0luLnN1YnByb2ov
UGx1Z2luT2JqZWN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gRHVtcFJlbmRlclRyZWUvVGVzdE5ldHNjYXBl
UGx1Z0luLnN1YnByb2ovUGx1Z2luT2JqZWN0LmgJKHJldmlzaW9uIDEzMjI4KQorKysgRHVtcFJl
bmRlclRyZWUvVGVzdE5ldHNjYXBlUGx1Z0luLnN1YnByb2ovUGx1Z2luT2JqZWN0LmgJKHdvcmtp
bmcgY29weSkKQEAgLTMwLDE5ICszMCwxNCBAQAogIFdIRVRIRVIgVU5ERVIgVEhFT1JZIE9GIENP
TlRSQUNULCBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSksIFNUUklDVCBMSUFCSUxJVFkgT1Ig
CiAgT1RIRVJXSVNFLCBFVkVOIElGIEFQUExFIEhBUyBCRUVOIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCi0jaW1wb3J0IDxXZWJLaXQvbnBhcGkuaD4KKwog
I2ltcG9ydCA8V2ViS2l0L25wZnVuY3Rpb25zLmg+Ci0jaW1wb3J0IDxXZWJLaXQvbnBydW50aW1l
Lmg+CiAKLWV4dGVybiBOUE5ldHNjYXBlRnVuY3MqIGJyb3dzZXI7CitleHRlcm4gTlBOZXRzY2Fw
ZUZ1bmNzICpicm93c2VyOwogCi10eXBlZGVmIHN0cnVjdAotewotICAgIE5QQ2xhc3MgKl9jbGFz
czsKLSAgICB1aW50MzJfdCByZWZlcmVuY2VDb3VudDsKK3R5cGVkZWYgc3RydWN0IHsKKyAgICBO
UE9iamVjdCBoZWFkZXI7CiAgICAgTlBQIG5wcDsKLSAgICBOUFdpbmRvdyogd2luZG93OwogfSBQ
bHVnaW5PYmplY3Q7CiAKIGV4dGVybiBOUENsYXNzICpnZXRQbHVnaW5DbGFzcyh2b2lkKTsKLQpJ
bmRleDogQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIENoYW5nZUxvZwkocmV2aXNpb24gMTMyMjgp
CisrKyBDaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSw0MCBAQAorMjAwNi0wMy0w
OSAgRGFyaW4gQWRsZXIgIDxkYXJpbkBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgLSBmaXggaHR0cDovL2J1Z3ppbGxhLm9wZW5kYXJ3
aW4ub3JnL3Nob3dfYnVnLmNnaT9pZD03NjgxCisgICAgICAgICAgbWVtb3J5IGxlYWsgaW4gdGhl
IHBsdWctaW4gdGVzdHMKKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL1Rlc3ROZXRzY2FwZVBs
dWdJbi5zdWJwcm9qL21haW4uYzoKKyAgICAgICAgKE5QUF9EZXN0cm95KTogQWRkZWQgY29kZSB0
byByZWxlYXNlIHRoZSBwbHVnLWluIG9iamVjdC4gVGhpcyBpcyB0aGUgbGVhayBmaXguCisgICAg
ICAgIChOUFBfU2V0V2luZG93KTogUmVtb3ZlIHVubmVlZGVkIGNvZGUgdG8gc3RvcmUgdGhlIHdp
bmRvdyBwb2ludGVyLgorCisgICAgICAgICogRHVtcFJlbmRlclRyZWUvVGVzdE5ldHNjYXBlUGx1
Z0luLnN1YnByb2ovUGx1Z2luT2JqZWN0LmM6CisgICAgICAgIE1vdmVkIHRoZSBicm93c2VyIGds
b2JhbCBpbiBoZXJlIHNpbmNlIGl0J3MgZGVjbGFyZWQgaW4gdGhpcyBmaWxlJ3MgaGVhZGVyLgor
ICAgICAgICBDaGFuZ2VkIHRoZSBjb2RlIHRvIHNldCB1cCB0aGUgcGx1Z2luQ2xhc3Mgc3RydWN0
dXJlIHRvIG5vdCB1c2UgZnVuY3Rpb24KKyAgICAgICAgcG9pbnRlciBjYXN0cy4gVGhvc2UgYXJl
IGRhbmdlcm91cyBiZWNhdXNlIHRoZXkgY2FuIGhpZGUgbWFueSB0eXBlcyBvZiBtaXNtYXRjaC4K
KyAgICAgICAgQW5kIGluZGVlZCB3aGVuIEkgZGlkIHRoaXMgSSBkaXNjb3ZlcmVkIHRoYXQgbWFu
eSBmdW5jdGlvbnMgd2VyZSBtaXNzaW5nIHRoZWlyCisgICAgICAgIGJvb2xlYW4gcmV0dXJuIHZh
bHVlcyBvciBoYWQgcGFyYW1ldGVyIGRlY2xhcmF0aW9ucyB3aXRoIHRoZSB3cm9uZyB0eXBlcy4K
KyAgICAgICAgKHBsdWdpbkdldFByb3BlcnR5KTogVXNlIFNUUklOR1pfVE9fTlBWQVJJQU5UIG1h
Y3JvIGZvciBncmVhdGVyIHNpbXBsaWNpdHkgYW5kCisgICAgICAgIGNsYXJpdHkuIEFkZGVkIGJv
b2xlYW4gcmV0dXJuIHZhbHVlOiByZXR1cm4gdHJ1ZSB3aGVuIHN1Y2Nlc3NmdWwgYW5kIGZhbHNl
IHdoZW4gbm90LgorICAgICAgICAocGx1Z2luU2V0UHJvcGVydHkpOiBBZGRlZCBib29sZWFuIHJl
dHVybiB2YWx1ZSwgcmV0dXJuIGZhbHNlIHNpbmNlIHdlIGhhdmUgbm8KKyAgICAgICAgcHJvcGVy
dGllcyB3ZSBjYW4gc2V0LgorICAgICAgICAocGx1Z2luSW52b2tlKTogQWRkZWQgYm9vbGVhbiBy
ZXR1cm4gdmFsdWUuIFJldHVybiB0cnVlIHdoZW4gc3VjY2Vzc2Z1bCBhbmQgZmFsc2UKKyAgICAg
ICAgd2hlbiBub3QuIFVzZSBOUFZBUklBTlQgbWFjcm9zIHdoZXJlIGFwcHJvcHJpYXRlLiBBZGRl
ZCBhIG1pc3NpbmcgcmVsZWFzZSBmb3IgdGhlCisgICAgICAgIHJldHVybiB2YWx1ZSBmcm9tIGNh
bGxpbmcgdGhlIGJyb3dzZXIuIENoYW5nZWQgY29kZSB0byBwdXQgdGhlIHN0cmluZ3MgaW4gbWFs
bG9jCisgICAgICAgIGJ1ZmZlcnMgaW5zdGVhZCBvZiByZWx5aW5nIG9uIEdDQydzIGV4dGVuc2lv
biB0aGF0IGFsbG93cyB2YXJpYWJsZS1zaXplZCBhcnJheXMKKyAgICAgICAgb24gdGhlIHN0YWNr
LgorICAgICAgICAocGx1Z2luSW52b2tlRGVmYXVsdCk6IEFkZGVkIGJvb2xlYW4gcmV0dXJuIHZh
bHVlLCByZXR1cm4gZmFsc2Ugc2luY2Ugd2UgaGF2ZSBubworICAgICAgICBkZWZhdWx0IGZ1bmN0
aW9uIHRvIGNhbGwuCisgICAgICAgIChwbHVnaW5JbnZhbGlkYXRlKTogQWRkZWQgbWlzc2luZyBw
YXJhbWV0ZXIuIFJlbW92ZWQgY29tbWVudC4KKyAgICAgICAgKHBsdWdpbkFsbG9jYXRlKTogUmVt
b3ZlZCB1bm5lZWRlZCBjYXN0LiBUaGlzIGlzIEMgY29kZSwgbm90IEMrKywgc28geW91IGRvbid0
IGhhdmUKKyAgICAgICAgdG8gY2FzdCB0aGUgcmVzdWx0IG9mIG1hbGxvYy4KKyAgICAgICAgKHBs
dWdpbkRlYWxsb2NhdGUpOiBSZW1vdmVkIHVuZWVkZWQgY2FzdC4KKworICAgICAgICAqIER1bXBS
ZW5kZXJUcmVlL1Rlc3ROZXRzY2FwZVBsdWdJbi5zdWJwcm9qL1BsdWdpbk9iamVjdC5oOiBSZW1v
dmVkIHNvbWUgdW5uZWVkZWQKKyAgICAgICAgaW5jbHVkZXMuIENoYW5nZWQgb3VyIFBsdWdpbk9i
amVjdCB0byB1c2UgTlBPYmplY3QgaW5zdGVhZCBvZiByZS1kZWNsYXJpbmcgZmllbGRzCisgICAg
ICAgIHRoYXQgbWF0Y2ggTlBPYmplY3QncyBmaWVsZHMuIFJlbW92ZWQgdW51c2VkIE5QV2luZG93
IHBvaW50ZXIuCisKIDIwMDYtMDMtMDkgIE1hY2llaiBTdGFjaG93aWFrICA8bWpzQGFwcGxlLmNv
bT4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljLgo=
</data>
<flag name="review"
          id="1805"
          type_id="1"
          status="+"
          setter="sullivan"
    />
          </attachment>
      

    </bug>

</bugzilla>