<?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>114984</bug_id>
          
          <creation_ts>2013-04-22 12:31:18 -0700</creation_ts>
          <short_desc>[CSS Exclusions] Improve ExclusionPolygon smart pointer safety</short_desc>
          <delta_ts>2013-04-23 15:42:14 -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>CSS</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="Hans Muller">giles_joplin</reporter>
          <assigned_to name="Hans Muller">giles_joplin</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>879385</commentid>
    <comment_count>0</comment_count>
    <who name="Hans Muller">giles_joplin</who>
    <bug_when>2013-04-22 12:31:18 -0700</bug_when>
    <thetext>Eric Seidel pointed out a small stylo and a lack of smart pointer safety in ExclusionPolygon.cpp, here: https://codereview.chromium.org/14220005/.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>879484</commentid>
    <comment_count>1</comment_count>
      <attachid>199121</attachid>
    <who name="Hans Muller">giles_joplin</who>
    <bug_when>2013-04-22 15:46:22 -0700</bug_when>
    <thetext>Created attachment 199121
Patch

Assign newly allocated objects to PassOwnPtrs as early as possible to reduce the chances of future leaks. No new tests were added, this change adds no new functionality.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>879487</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-04-22 15:48:26 -0700</bug_when>
    <thetext>Attachment 199121 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCore/rendering/ExclusionPolygon.cpp&apos;, u&apos;Source/WebCore/rendering/ExclusionShape.cpp&apos;]&quot; exit_code: 1
Source/WebCore/rendering/ExclusionPolygon.cpp:140:  Local variables should never be PassOwnPtr (see http://webkit.org/coding/RefPtr.html).  [readability/pass_ptr] [5]
Source/WebCore/rendering/ExclusionPolygon.cpp:161:  Local variables should never be PassOwnPtr (see http://webkit.org/coding/RefPtr.html).  [readability/pass_ptr] [5]
Source/WebCore/rendering/ExclusionShape.cpp:151:  Local variables should never be PassOwnPtr (see http://webkit.org/coding/RefPtr.html).  [readability/pass_ptr] [5]
Total errors found: 3 in 3 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>879512</commentid>
    <comment_count>3</comment_count>
      <attachid>199128</attachid>
    <who name="Hans Muller">giles_joplin</who>
    <bug_when>2013-04-22 16:25:11 -0700</bug_when>
    <thetext>Created attachment 199128
Patch

Use OwnPtr for local variables and explicitly convert them to PassOwnPtr with release().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>880150</commentid>
    <comment_count>4</comment_count>
      <attachid>199128</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2013-04-23 15:05:30 -0700</bug_when>
    <thetext>Comment on attachment 199128
Patch

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

r=me.

&gt; Source/WebCore/rendering/ExclusionShape.cpp:159
&gt; +        exclusionShape = createExclusionPolygon(vertices.release(), polygon-&gt;windRule());

I am not necessarily loving it that the vertices are created here and passed from one ctor to the next multiple times, but this particular change seems reasonable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>880161</commentid>
    <comment_count>5</comment_count>
      <attachid>199128</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-04-23 15:42:13 -0700</bug_when>
    <thetext>Comment on attachment 199128
Patch

Clearing flags on attachment: 199128

Committed r149003: &lt;http://trac.webkit.org/changeset/149003&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>880162</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-04-23 15:42:14 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>199121</attachid>
            <date>2013-04-22 15:46:22 -0700</date>
            <delta_ts>2013-04-22 16:25:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>tmp.patch</filename>
            <type>text/plain</type>
            <size>5142</size>
            <attacher name="Hans Muller">giles_joplin</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBmN2FjNWUzLi42YWIzMjAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEg
QEAKKzIwMTMtMDQtMjIgIEhhbnMgTXVsbGVyICA8aG11bGxlckBhZG9iZS5jb20+CisKKyAgICAg
ICAgW0NTUyBFeGNsdXNpb25zXSBJbXByb3ZlIEV4Y2x1c2lvblBvbHlnb24gc21hcnQgcG9pbnRl
ciBzYWZldHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTExNDk4NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFzc2lnbiBuZXdseSBhbGxvY2F0ZWQgb2JqZWN0cyB0byBQYXNzT3duUHRycyBhcyBlYXJseSBh
cyBwb3NzaWJsZSB0byByZWR1Y2UgdGhlCisgICAgICAgIGNoYW5jZXMgb2YgZnV0dXJlIGxlYWtz
LiBObyBuZXcgdGVzdHMgd2VyZSBhZGRlZCwgdGhpcyBjaGFuZ2UgYWRkcyBubyBuZXcgZnVuY3Rp
b25hbGl0eS4KKworICAgICAgICAqIHJlbmRlcmluZy9FeGNsdXNpb25Qb2x5Z29uLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OmNvbXB1dGVTaGFwZVBhZGRpbmdCb3VuZHMpOgorICAgICAgICAoV2Vi
Q29yZTo6Y29tcHV0ZVNoYXBlTWFyZ2luQm91bmRzKToKKyAgICAgICAgKFdlYkNvcmU6OkV4Y2x1
c2lvblBvbHlnb246OnNoYXBlUGFkZGluZ0JvdW5kcyk6CisgICAgICAgIChXZWJDb3JlOjpFeGNs
dXNpb25Qb2x5Z29uOjpzaGFwZU1hcmdpbkJvdW5kcyk6CisgICAgICAgICogcmVuZGVyaW5nL0V4
Y2x1c2lvblNoYXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV4Y2x1c2lvblNoYXBlOjpjcmVh
dGVFeGNsdXNpb25TaGFwZSk6CisKIDIwMTMtMDQtMjIgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2Jp
bnNvbkBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIEZpeCByZW1haW5pbmcgaW50cm9zcGVj
dGlvbiB3YXJuaW5ncwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1
c2lvblBvbHlnb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblBvbHln
b24uY3BwCmluZGV4IDIzYjM1ZTAuLmYwYzRmZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9FeGNsdXNpb25Qb2x5Z29uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvRXhjbHVzaW9uUG9seWdvbi5jcHAKQEAgLTEzNSw5ICsxMzUsOSBAQCBzdGF0aWMgaW5s
aW5lIHZvaWQgc25hcFZlcnRpY2VzVG9MYXlvdXRVbml0R3JpZChWZWN0b3I8RmxvYXRQb2ludD4m
IHZlcnRpY2VzKQogICAgICAgICB2ZXJ0aWNlc1tpXS5zZXQoTGF5b3V0VW5pdCh2ZXJ0aWNlc1tp
XS54KCkpLnRvRmxvYXQoKSwgTGF5b3V0VW5pdCh2ZXJ0aWNlc1tpXS55KCkpLnRvRmxvYXQoKSk7
CiB9CiAKLXN0YXRpYyBpbmxpbmUgRmxvYXRQb2x5Z29uICpjb21wdXRlU2hhcGVQYWRkaW5nQm91
bmRzKGNvbnN0IEZsb2F0UG9seWdvbiYgcG9seWdvbiwgZmxvYXQgcGFkZGluZywgV2luZFJ1bGUg
ZmlsbFJ1bGUpCitzdGF0aWMgaW5saW5lIFBhc3NPd25QdHI8RmxvYXRQb2x5Z29uPiBjb21wdXRl
U2hhcGVQYWRkaW5nQm91bmRzKGNvbnN0IEZsb2F0UG9seWdvbiYgcG9seWdvbiwgZmxvYXQgcGFk
ZGluZywgV2luZFJ1bGUgZmlsbFJ1bGUpCiB7Ci0gICAgVmVjdG9yPEZsb2F0UG9pbnQ+KiBwYWRk
ZWRWZXJ0aWNlcyA9IG5ldyBWZWN0b3I8RmxvYXRQb2ludD4oKTsKKyAgICBQYXNzT3duUHRyPFZl
Y3RvcjxGbG9hdFBvaW50PiA+IHBhZGRlZFZlcnRpY2VzID0gYWRvcHRQdHIobmV3IFZlY3RvcjxG
bG9hdFBvaW50PigpKTsKICAgICBGbG9hdFBvaW50IGludGVyc2VjdGlvbjsKIAogICAgIGZvciAo
dW5zaWduZWQgaSA9IDA7IGkgPCBwb2x5Z29uLm51bWJlck9mRWRnZXMoKTsgKytpKSB7CkBAIC0x
NTMsMTIgKzE1MywxMiBAQCBzdGF0aWMgaW5saW5lIEZsb2F0UG9seWdvbiAqY29tcHV0ZVNoYXBl
UGFkZGluZ0JvdW5kcyhjb25zdCBGbG9hdFBvbHlnb24mIHBvbHlnbwogICAgIH0KIAogICAgIHNu
YXBWZXJ0aWNlc1RvTGF5b3V0VW5pdEdyaWQoKnBhZGRlZFZlcnRpY2VzKTsKLSAgICByZXR1cm4g
bmV3IEZsb2F0UG9seWdvbihhZG9wdFB0cihwYWRkZWRWZXJ0aWNlcyksIGZpbGxSdWxlKTsKKyAg
ICByZXR1cm4gYWRvcHRQdHIobmV3IEZsb2F0UG9seWdvbihwYWRkZWRWZXJ0aWNlcywgZmlsbFJ1
bGUpKTsKIH0KIAotc3RhdGljIGlubGluZSBGbG9hdFBvbHlnb24gKmNvbXB1dGVTaGFwZU1hcmdp
bkJvdW5kcyhjb25zdCBGbG9hdFBvbHlnb24mIHBvbHlnb24sIGZsb2F0IG1hcmdpbiwgV2luZFJ1
bGUgZmlsbFJ1bGUpCitzdGF0aWMgaW5saW5lIFBhc3NPd25QdHI8RmxvYXRQb2x5Z29uPiBjb21w
dXRlU2hhcGVNYXJnaW5Cb3VuZHMoY29uc3QgRmxvYXRQb2x5Z29uJiBwb2x5Z29uLCBmbG9hdCBt
YXJnaW4sIFdpbmRSdWxlIGZpbGxSdWxlKQogewotICAgIFZlY3RvcjxGbG9hdFBvaW50PiogbWFy
Z2luVmVydGljZXMgPSBuZXcgVmVjdG9yPEZsb2F0UG9pbnQ+KCk7CisgICAgUGFzc093blB0cjxW
ZWN0b3I8RmxvYXRQb2ludD4gPiBtYXJnaW5WZXJ0aWNlcyA9IGFkb3B0UHRyKG5ldyBWZWN0b3I8
RmxvYXRQb2ludD4oKSk7CiAgICAgRmxvYXRQb2ludCBpbnRlcnNlY3Rpb247CiAKICAgICBmb3Ig
KHVuc2lnbmVkIGkgPSAwOyBpIDwgcG9seWdvbi5udW1iZXJPZkVkZ2VzKCk7ICsraSkgewpAQCAt
MTc0LDcgKzE3NCw3IEBAIHN0YXRpYyBpbmxpbmUgRmxvYXRQb2x5Z29uICpjb21wdXRlU2hhcGVN
YXJnaW5Cb3VuZHMoY29uc3QgRmxvYXRQb2x5Z29uJiBwb2x5Z29uCiAgICAgfQogCiAgICAgc25h
cFZlcnRpY2VzVG9MYXlvdXRVbml0R3JpZCgqbWFyZ2luVmVydGljZXMpOwotICAgIHJldHVybiBu
ZXcgRmxvYXRQb2x5Z29uKGFkb3B0UHRyKG1hcmdpblZlcnRpY2VzKSwgZmlsbFJ1bGUpOworICAg
IHJldHVybiBhZG9wdFB0cihuZXcgRmxvYXRQb2x5Z29uKG1hcmdpblZlcnRpY2VzLCBmaWxsUnVs
ZSkpOwogfQogCiBjb25zdCBGbG9hdFBvbHlnb24mIEV4Y2x1c2lvblBvbHlnb246OnNoYXBlUGFk
ZGluZ0JvdW5kcygpIGNvbnN0CkBAIC0xODQsNyArMTg0LDcgQEAgY29uc3QgRmxvYXRQb2x5Z29u
JiBFeGNsdXNpb25Qb2x5Z29uOjpzaGFwZVBhZGRpbmdCb3VuZHMoKSBjb25zdAogICAgICAgICBy
ZXR1cm4gbV9wb2x5Z29uOwogCiAgICAgaWYgKCFtX3BhZGRpbmdCb3VuZHMpCi0gICAgICAgIG1f
cGFkZGluZ0JvdW5kcyA9IGFkb3B0UHRyKGNvbXB1dGVTaGFwZVBhZGRpbmdCb3VuZHMobV9wb2x5
Z29uLCBzaGFwZVBhZGRpbmcoKSwgbV9wb2x5Z29uLmZpbGxSdWxlKCkpKTsKKyAgICAgICAgbV9w
YWRkaW5nQm91bmRzID0gY29tcHV0ZVNoYXBlUGFkZGluZ0JvdW5kcyhtX3BvbHlnb24sIHNoYXBl
UGFkZGluZygpLCBtX3BvbHlnb24uZmlsbFJ1bGUoKSk7CiAKICAgICByZXR1cm4gKm1fcGFkZGlu
Z0JvdW5kczsKIH0KQEAgLTE5Niw3ICsxOTYsNyBAQCBjb25zdCBGbG9hdFBvbHlnb24mIEV4Y2x1
c2lvblBvbHlnb246OnNoYXBlTWFyZ2luQm91bmRzKCkgY29uc3QKICAgICAgICAgcmV0dXJuIG1f
cG9seWdvbjsKIAogICAgIGlmICghbV9tYXJnaW5Cb3VuZHMpCi0gICAgICAgIG1fbWFyZ2luQm91
bmRzID0gYWRvcHRQdHIoY29tcHV0ZVNoYXBlTWFyZ2luQm91bmRzKG1fcG9seWdvbiwgc2hhcGVN
YXJnaW4oKSwgbV9wb2x5Z29uLmZpbGxSdWxlKCkpKTsKKyAgICAgICAgbV9tYXJnaW5Cb3VuZHMg
PSBjb21wdXRlU2hhcGVNYXJnaW5Cb3VuZHMobV9wb2x5Z29uLCBzaGFwZU1hcmdpbigpLCBtX3Bv
bHlnb24uZmlsbFJ1bGUoKSk7CiAKICAgICByZXR1cm4gKm1fbWFyZ2luQm91bmRzOwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNoYXBlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9FeGNsdXNpb25TaGFwZS5jcHAKaW5kZXggZTUyMjIzZi4u
YWFjYzJlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNo
YXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRXhjbHVzaW9uU2hhcGUuY3Bw
CkBAIC0xNDgsNyArMTQ4LDcgQEAgUGFzc093blB0cjxFeGNsdXNpb25TaGFwZT4gRXhjbHVzaW9u
U2hhcGU6OmNyZWF0ZUV4Y2x1c2lvblNoYXBlKGNvbnN0IEJhc2ljU2hhcGUKICAgICAgICAgY29u
c3QgVmVjdG9yPExlbmd0aD4mIHZhbHVlcyA9IHBvbHlnb24tPnZhbHVlcygpOwogICAgICAgICBz
aXplX3QgdmFsdWVzU2l6ZSA9IHZhbHVlcy5zaXplKCk7CiAgICAgICAgIEFTU0VSVCghKHZhbHVl
c1NpemUgJSAyKSk7Ci0gICAgICAgIFZlY3RvcjxGbG9hdFBvaW50PiogdmVydGljZXMgPSBuZXcg
VmVjdG9yPEZsb2F0UG9pbnQ+KHZhbHVlc1NpemUgLyAyKTsKKyAgICAgICAgUGFzc093blB0cjxW
ZWN0b3I8RmxvYXRQb2ludD4gPiB2ZXJ0aWNlcyA9IGFkb3B0UHRyKG5ldyBWZWN0b3I8RmxvYXRQ
b2ludD4odmFsdWVzU2l6ZSAvIDIpKTsKICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8
IHZhbHVlc1NpemU7IGkgKz0gMikgewogICAgICAgICAgICAgRmxvYXRQb2ludCB2ZXJ0ZXgoCiAg
ICAgICAgICAgICAgICAgZmxvYXRWYWx1ZUZvckxlbmd0aCh2YWx1ZXMuYXQoaSksIGJveFdpZHRo
KSwKQEAgLTE1Niw3ICsxNTYsNyBAQCBQYXNzT3duUHRyPEV4Y2x1c2lvblNoYXBlPiBFeGNsdXNp
b25TaGFwZTo6Y3JlYXRlRXhjbHVzaW9uU2hhcGUoY29uc3QgQmFzaWNTaGFwZQogICAgICAgICAg
ICAgKCp2ZXJ0aWNlcylbaSAvIDJdID0gcGh5c2ljYWxQb2ludFRvTG9naWNhbCh2ZXJ0ZXgsIGxv
Z2ljYWxCb3hIZWlnaHQsIHdyaXRpbmdNb2RlKTsKICAgICAgICAgfQogCi0gICAgICAgIGV4Y2x1
c2lvblNoYXBlID0gY3JlYXRlRXhjbHVzaW9uUG9seWdvbihhZG9wdFB0cih2ZXJ0aWNlcyksIHBv
bHlnb24tPndpbmRSdWxlKCkpOworICAgICAgICBleGNsdXNpb25TaGFwZSA9IGNyZWF0ZUV4Y2x1
c2lvblBvbHlnb24odmVydGljZXMsIHBvbHlnb24tPndpbmRSdWxlKCkpOwogICAgICAgICBicmVh
azsKICAgICB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>199128</attachid>
            <date>2013-04-22 16:25:11 -0700</date>
            <delta_ts>2013-04-23 15:42:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>tmp.patch</filename>
            <type>text/plain</type>
            <size>5160</size>
            <attacher name="Hans Muller">giles_joplin</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBmN2FjNWUzLi42YWIzMjAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEg
QEAKKzIwMTMtMDQtMjIgIEhhbnMgTXVsbGVyICA8aG11bGxlckBhZG9iZS5jb20+CisKKyAgICAg
ICAgW0NTUyBFeGNsdXNpb25zXSBJbXByb3ZlIEV4Y2x1c2lvblBvbHlnb24gc21hcnQgcG9pbnRl
ciBzYWZldHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTExNDk4NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFzc2lnbiBuZXdseSBhbGxvY2F0ZWQgb2JqZWN0cyB0byBQYXNzT3duUHRycyBhcyBlYXJseSBh
cyBwb3NzaWJsZSB0byByZWR1Y2UgdGhlCisgICAgICAgIGNoYW5jZXMgb2YgZnV0dXJlIGxlYWtz
LiBObyBuZXcgdGVzdHMgd2VyZSBhZGRlZCwgdGhpcyBjaGFuZ2UgYWRkcyBubyBuZXcgZnVuY3Rp
b25hbGl0eS4KKworICAgICAgICAqIHJlbmRlcmluZy9FeGNsdXNpb25Qb2x5Z29uLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OmNvbXB1dGVTaGFwZVBhZGRpbmdCb3VuZHMpOgorICAgICAgICAoV2Vi
Q29yZTo6Y29tcHV0ZVNoYXBlTWFyZ2luQm91bmRzKToKKyAgICAgICAgKFdlYkNvcmU6OkV4Y2x1
c2lvblBvbHlnb246OnNoYXBlUGFkZGluZ0JvdW5kcyk6CisgICAgICAgIChXZWJDb3JlOjpFeGNs
dXNpb25Qb2x5Z29uOjpzaGFwZU1hcmdpbkJvdW5kcyk6CisgICAgICAgICogcmVuZGVyaW5nL0V4
Y2x1c2lvblNoYXBlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV4Y2x1c2lvblNoYXBlOjpjcmVh
dGVFeGNsdXNpb25TaGFwZSk6CisKIDIwMTMtMDQtMjIgIE1hcnRpbiBSb2JpbnNvbiAgPG1yb2Jp
bnNvbkBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIEZpeCByZW1haW5pbmcgaW50cm9zcGVj
dGlvbiB3YXJuaW5ncwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1
c2lvblBvbHlnb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblBvbHln
b24uY3BwCmluZGV4IDIzYjM1ZTAuLjA2OTEwOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9FeGNsdXNpb25Qb2x5Z29uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvRXhjbHVzaW9uUG9seWdvbi5jcHAKQEAgLTEzNSw5ICsxMzUsOSBAQCBzdGF0aWMgaW5s
aW5lIHZvaWQgc25hcFZlcnRpY2VzVG9MYXlvdXRVbml0R3JpZChWZWN0b3I8RmxvYXRQb2ludD4m
IHZlcnRpY2VzKQogICAgICAgICB2ZXJ0aWNlc1tpXS5zZXQoTGF5b3V0VW5pdCh2ZXJ0aWNlc1tp
XS54KCkpLnRvRmxvYXQoKSwgTGF5b3V0VW5pdCh2ZXJ0aWNlc1tpXS55KCkpLnRvRmxvYXQoKSk7
CiB9CiAKLXN0YXRpYyBpbmxpbmUgRmxvYXRQb2x5Z29uICpjb21wdXRlU2hhcGVQYWRkaW5nQm91
bmRzKGNvbnN0IEZsb2F0UG9seWdvbiYgcG9seWdvbiwgZmxvYXQgcGFkZGluZywgV2luZFJ1bGUg
ZmlsbFJ1bGUpCitzdGF0aWMgaW5saW5lIFBhc3NPd25QdHI8RmxvYXRQb2x5Z29uPiBjb21wdXRl
U2hhcGVQYWRkaW5nQm91bmRzKGNvbnN0IEZsb2F0UG9seWdvbiYgcG9seWdvbiwgZmxvYXQgcGFk
ZGluZywgV2luZFJ1bGUgZmlsbFJ1bGUpCiB7Ci0gICAgVmVjdG9yPEZsb2F0UG9pbnQ+KiBwYWRk
ZWRWZXJ0aWNlcyA9IG5ldyBWZWN0b3I8RmxvYXRQb2ludD4oKTsKKyAgICBPd25QdHI8VmVjdG9y
PEZsb2F0UG9pbnQ+ID4gcGFkZGVkVmVydGljZXMgPSBhZG9wdFB0cihuZXcgVmVjdG9yPEZsb2F0
UG9pbnQ+KCkpOwogICAgIEZsb2F0UG9pbnQgaW50ZXJzZWN0aW9uOwogCiAgICAgZm9yICh1bnNp
Z25lZCBpID0gMDsgaSA8IHBvbHlnb24ubnVtYmVyT2ZFZGdlcygpOyArK2kpIHsKQEAgLTE1Mywx
MiArMTUzLDEyIEBAIHN0YXRpYyBpbmxpbmUgRmxvYXRQb2x5Z29uICpjb21wdXRlU2hhcGVQYWRk
aW5nQm91bmRzKGNvbnN0IEZsb2F0UG9seWdvbiYgcG9seWdvCiAgICAgfQogCiAgICAgc25hcFZl
cnRpY2VzVG9MYXlvdXRVbml0R3JpZCgqcGFkZGVkVmVydGljZXMpOwotICAgIHJldHVybiBuZXcg
RmxvYXRQb2x5Z29uKGFkb3B0UHRyKHBhZGRlZFZlcnRpY2VzKSwgZmlsbFJ1bGUpOworICAgIHJl
dHVybiBhZG9wdFB0cihuZXcgRmxvYXRQb2x5Z29uKHBhZGRlZFZlcnRpY2VzLnJlbGVhc2UoKSwg
ZmlsbFJ1bGUpKTsKIH0KIAotc3RhdGljIGlubGluZSBGbG9hdFBvbHlnb24gKmNvbXB1dGVTaGFw
ZU1hcmdpbkJvdW5kcyhjb25zdCBGbG9hdFBvbHlnb24mIHBvbHlnb24sIGZsb2F0IG1hcmdpbiwg
V2luZFJ1bGUgZmlsbFJ1bGUpCitzdGF0aWMgaW5saW5lIFBhc3NPd25QdHI8RmxvYXRQb2x5Z29u
PiBjb21wdXRlU2hhcGVNYXJnaW5Cb3VuZHMoY29uc3QgRmxvYXRQb2x5Z29uJiBwb2x5Z29uLCBm
bG9hdCBtYXJnaW4sIFdpbmRSdWxlIGZpbGxSdWxlKQogewotICAgIFZlY3RvcjxGbG9hdFBvaW50
PiogbWFyZ2luVmVydGljZXMgPSBuZXcgVmVjdG9yPEZsb2F0UG9pbnQ+KCk7CisgICAgT3duUHRy
PFZlY3RvcjxGbG9hdFBvaW50PiA+IG1hcmdpblZlcnRpY2VzID0gYWRvcHRQdHIobmV3IFZlY3Rv
cjxGbG9hdFBvaW50PigpKTsKICAgICBGbG9hdFBvaW50IGludGVyc2VjdGlvbjsKIAogICAgIGZv
ciAodW5zaWduZWQgaSA9IDA7IGkgPCBwb2x5Z29uLm51bWJlck9mRWRnZXMoKTsgKytpKSB7CkBA
IC0xNzQsNyArMTc0LDcgQEAgc3RhdGljIGlubGluZSBGbG9hdFBvbHlnb24gKmNvbXB1dGVTaGFw
ZU1hcmdpbkJvdW5kcyhjb25zdCBGbG9hdFBvbHlnb24mIHBvbHlnb24KICAgICB9CiAKICAgICBz
bmFwVmVydGljZXNUb0xheW91dFVuaXRHcmlkKCptYXJnaW5WZXJ0aWNlcyk7Ci0gICAgcmV0dXJu
IG5ldyBGbG9hdFBvbHlnb24oYWRvcHRQdHIobWFyZ2luVmVydGljZXMpLCBmaWxsUnVsZSk7Cisg
ICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBGbG9hdFBvbHlnb24obWFyZ2luVmVydGljZXMucmVsZWFz
ZSgpLCBmaWxsUnVsZSkpOwogfQogCiBjb25zdCBGbG9hdFBvbHlnb24mIEV4Y2x1c2lvblBvbHln
b246OnNoYXBlUGFkZGluZ0JvdW5kcygpIGNvbnN0CkBAIC0xODQsNyArMTg0LDcgQEAgY29uc3Qg
RmxvYXRQb2x5Z29uJiBFeGNsdXNpb25Qb2x5Z29uOjpzaGFwZVBhZGRpbmdCb3VuZHMoKSBjb25z
dAogICAgICAgICByZXR1cm4gbV9wb2x5Z29uOwogCiAgICAgaWYgKCFtX3BhZGRpbmdCb3VuZHMp
Ci0gICAgICAgIG1fcGFkZGluZ0JvdW5kcyA9IGFkb3B0UHRyKGNvbXB1dGVTaGFwZVBhZGRpbmdC
b3VuZHMobV9wb2x5Z29uLCBzaGFwZVBhZGRpbmcoKSwgbV9wb2x5Z29uLmZpbGxSdWxlKCkpKTsK
KyAgICAgICAgbV9wYWRkaW5nQm91bmRzID0gY29tcHV0ZVNoYXBlUGFkZGluZ0JvdW5kcyhtX3Bv
bHlnb24sIHNoYXBlUGFkZGluZygpLCBtX3BvbHlnb24uZmlsbFJ1bGUoKSk7CiAKICAgICByZXR1
cm4gKm1fcGFkZGluZ0JvdW5kczsKIH0KQEAgLTE5Niw3ICsxOTYsNyBAQCBjb25zdCBGbG9hdFBv
bHlnb24mIEV4Y2x1c2lvblBvbHlnb246OnNoYXBlTWFyZ2luQm91bmRzKCkgY29uc3QKICAgICAg
ICAgcmV0dXJuIG1fcG9seWdvbjsKIAogICAgIGlmICghbV9tYXJnaW5Cb3VuZHMpCi0gICAgICAg
IG1fbWFyZ2luQm91bmRzID0gYWRvcHRQdHIoY29tcHV0ZVNoYXBlTWFyZ2luQm91bmRzKG1fcG9s
eWdvbiwgc2hhcGVNYXJnaW4oKSwgbV9wb2x5Z29uLmZpbGxSdWxlKCkpKTsKKyAgICAgICAgbV9t
YXJnaW5Cb3VuZHMgPSBjb21wdXRlU2hhcGVNYXJnaW5Cb3VuZHMobV9wb2x5Z29uLCBzaGFwZU1h
cmdpbigpLCBtX3BvbHlnb24uZmlsbFJ1bGUoKSk7CiAKICAgICByZXR1cm4gKm1fbWFyZ2luQm91
bmRzOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0V4Y2x1c2lvblNo
YXBlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9FeGNsdXNpb25TaGFwZS5jcHAKaW5k
ZXggZTUyMjIzZi4uY2M1NDUwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L0V4Y2x1c2lvblNoYXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvRXhjbHVz
aW9uU2hhcGUuY3BwCkBAIC0xNDgsNyArMTQ4LDcgQEAgUGFzc093blB0cjxFeGNsdXNpb25TaGFw
ZT4gRXhjbHVzaW9uU2hhcGU6OmNyZWF0ZUV4Y2x1c2lvblNoYXBlKGNvbnN0IEJhc2ljU2hhcGUK
ICAgICAgICAgY29uc3QgVmVjdG9yPExlbmd0aD4mIHZhbHVlcyA9IHBvbHlnb24tPnZhbHVlcygp
OwogICAgICAgICBzaXplX3QgdmFsdWVzU2l6ZSA9IHZhbHVlcy5zaXplKCk7CiAgICAgICAgIEFT
U0VSVCghKHZhbHVlc1NpemUgJSAyKSk7Ci0gICAgICAgIFZlY3RvcjxGbG9hdFBvaW50PiogdmVy
dGljZXMgPSBuZXcgVmVjdG9yPEZsb2F0UG9pbnQ+KHZhbHVlc1NpemUgLyAyKTsKKyAgICAgICAg
T3duUHRyPFZlY3RvcjxGbG9hdFBvaW50PiA+IHZlcnRpY2VzID0gYWRvcHRQdHIobmV3IFZlY3Rv
cjxGbG9hdFBvaW50Pih2YWx1ZXNTaXplIC8gMikpOwogICAgICAgICBmb3IgKHVuc2lnbmVkIGkg
PSAwOyBpIDwgdmFsdWVzU2l6ZTsgaSArPSAyKSB7CiAgICAgICAgICAgICBGbG9hdFBvaW50IHZl
cnRleCgKICAgICAgICAgICAgICAgICBmbG9hdFZhbHVlRm9yTGVuZ3RoKHZhbHVlcy5hdChpKSwg
Ym94V2lkdGgpLApAQCAtMTU2LDcgKzE1Niw3IEBAIFBhc3NPd25QdHI8RXhjbHVzaW9uU2hhcGU+
IEV4Y2x1c2lvblNoYXBlOjpjcmVhdGVFeGNsdXNpb25TaGFwZShjb25zdCBCYXNpY1NoYXBlCiAg
ICAgICAgICAgICAoKnZlcnRpY2VzKVtpIC8gMl0gPSBwaHlzaWNhbFBvaW50VG9Mb2dpY2FsKHZl
cnRleCwgbG9naWNhbEJveEhlaWdodCwgd3JpdGluZ01vZGUpOwogICAgICAgICB9CiAKLSAgICAg
ICAgZXhjbHVzaW9uU2hhcGUgPSBjcmVhdGVFeGNsdXNpb25Qb2x5Z29uKGFkb3B0UHRyKHZlcnRp
Y2VzKSwgcG9seWdvbi0+d2luZFJ1bGUoKSk7CisgICAgICAgIGV4Y2x1c2lvblNoYXBlID0gY3Jl
YXRlRXhjbHVzaW9uUG9seWdvbih2ZXJ0aWNlcy5yZWxlYXNlKCksIHBvbHlnb24tPndpbmRSdWxl
KCkpOwogICAgICAgICBicmVhazsKICAgICB9CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>