<?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>99362</bug_id>
          
          <creation_ts>2012-10-15 14:00:31 -0700</creation_ts>
          <short_desc>[GStreamer] GstCaps are leaked when building with gstreamer-1.0</short_desc>
          <delta_ts>2012-10-15 17:35:23 -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>Media</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="arno.">a.renevier</reporter>
          <assigned_to name="arno.">a.renevier</assigned_to>
          <cc>eric.carlson</cc>
    
    <cc>eric</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>gustavo</cc>
    
    <cc>menard</cc>
    
    <cc>mrobinson</cc>
    
    <cc>pnormand</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>742394</commentid>
    <comment_count>0</comment_count>
    <who name="arno.">a.renevier</who>
    <bug_when>2012-10-15 14:00:31 -0700</bug_when>
    <thetext>Hi,
when using gstreamer-1.0,
webkitGstGetPadCaps gets a GstCaps* with gst_pad_get_current_caps or gst_pad_query_caps which both return an object with incremented ref-count. But those caps are not unrefed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>742449</commentid>
    <comment_count>1</comment_count>
      <attachid>168782</attachid>
    <who name="arno.">a.renevier</who>
    <bug_when>2012-10-15 14:24:46 -0700</bug_when>
    <thetext>Created attachment 168782
patch proposal: use GRefPtr&lt;GstCaps&gt; for webkitGstGetPadCaps; also use GRefPtr in webkitVideoSinkRender

patch proposal</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>742489</commentid>
    <comment_count>2</comment_count>
      <attachid>168782</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2012-10-15 15:01:08 -0700</bug_when>
    <thetext>Comment on attachment 168782
patch proposal: use GRefPtr&lt;GstCaps&gt; for webkitGstGetPadCaps; also use GRefPtr in webkitVideoSinkRender

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


Looks nice, though I have a couple nits.

&gt; Source/WebCore/platform/graphics/gstreamer/GStreamerVersioning.cpp:57
&gt; +    if (!caps)
&gt; +        return 0;
&gt; +#ifdef GST_API_VERSION_1
&gt; +        return adoptGRef(caps);
&gt; +#else
&gt; +        return GRefPtr&lt;GstCaps&gt;(caps);
&gt; +#endif
&gt;  }

You don&apos;t actually need to check for null here or do an explicit call to GRefPtr. Is the problem that GST_PAD_CAPS doesn&apos;t return a new reference, but gst_pad_query_caps/gst_pad_get_current_caps does?

This method can just be:

#ifdef GST_API_VERSION_1
GStCaps* caps = gst_pad_get_current_caps(pad);
if (!caps)
    caps = gst_pad_query_caps(pad, 0);
return adoptGRef(caps); // gst_pad_query_caps and gst_pad_get_current_caps return a new reference.
#else
return GST_PAD_CAPS(pad);
#endif.

&gt; Source/WebCore/platform/graphics/gstreamer/GStreamerVersioning.h:25
&gt; +
&gt;  #include &lt;gst/gst.h&gt;

Nit: There should be no empty line here.

&gt; Source/WebCore/platform/graphics/gstreamer/VideoSinkGStreamer.cpp:-187
&gt; -#ifdef GST_API_VERSION_1
&gt; -        gst_caps_unref(caps);
&gt; -#endif

Nice cleanup!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>742508</commentid>
    <comment_count>3</comment_count>
      <attachid>168791</attachid>
    <who name="arno.">a.renevier</who>
    <bug_when>2012-10-15 15:21:29 -0700</bug_when>
    <thetext>Created attachment 168791
Patch

updated patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>742641</commentid>
    <comment_count>4</comment_count>
      <attachid>168791</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-15 17:35:19 -0700</bug_when>
    <thetext>Comment on attachment 168791
Patch

Clearing flags on attachment: 168791

Committed r131387: &lt;http://trac.webkit.org/changeset/131387&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>742642</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-15 17:35:23 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>168782</attachid>
            <date>2012-10-15 14:24:46 -0700</date>
            <delta_ts>2012-10-15 15:21:27 -0700</delta_ts>
            <desc>patch proposal: use GRefPtr&lt;GstCaps&gt; for webkitGstGetPadCaps; also use GRefPtr in webkitVideoSinkRender</desc>
            <filename>bug-99362-20121015142334.patch</filename>
            <type>text/plain</type>
            <size>8834</size>
            <attacher name="arno.">a.renevier</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxMDcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjMzNzU2N2E5NDQ3ZDM2
MmU0YzQ4NDRkNDEzMzFiOTgxYjMxZjZkNi4uYjRkNTM5YWIxMTMxOGQ1YjE5NDlmNDEyZjI1YjVm
ZmY0NDM0YWM2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEyLTEwLTE1ICBBcm5h
dWQgUmVuZXZpZXIgIDxhLnJlbmV2aWVyQHNpc2Euc2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0dT
dHJlYW1lcl0gR3N0Q2FwcyBhcmUgbGVha2VkIHdoZW4gYnVpbGRpbmcgd2l0aCBnc3RyZWFtZXIt
MS4wCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05OTM2
MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxl
bWVudCBHUmVmUHRyPEdzdENhcHM+IGFkb3B0R1JlZihHc3RDYXBzKikuCisKKyAgICAgICAgQ2hh
bmdlIHdlYmtpdEdzdEdldFBhZENhcHMgc2lnbmF0dXJlIHRvIHJldHVybiBhIEdSZWZQdHI8R3N0
Q2Fwcz4sIGFuZAorICAgICAgICB1c2UgR1JlZlB0cjxHc3RDYXBzPiBhbHNvIGluIHdlYmtpdFZp
ZGVvU2lua1JlbmRlciB0byBzaW1wbHkgR3N0Q2FwcworICAgICAgICByZWZlZmVyZW5jZSBjb3Vu
dC4KKworICAgICAgICBDb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dSZWZQdHJHU3RyZWFtZXIuY3BwOgorICAgICAgICAo
V1RGOjphZG9wdEdSZWYpOgorICAgICAgICAoV1RGKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvR1JlZlB0ckdTdHJlYW1lci5oOgorICAgICAgICAoV1RGKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvR1N0cmVhbWVyVmVyc2lvbmluZy5jcHA6
CisgICAgICAgICh3ZWJraXRHc3RHZXRQYWRDYXBzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvR1N0cmVhbWVyVmVyc2lvbmluZy5oOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpuYXR1cmFsU2l6ZSk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1ZpZGVvU2lua0dTdHJlYW1l
ci5jcHA6CisgICAgICAgICh3ZWJraXRWaWRlb1NpbmtSZW5kZXIpOgorCiAyMDEyLTEwLTExICBB
cm5hdWQgUmVuZXZpZXIgIDxhLnJlbmV2aWVyQHNpc2Euc2Ftc3VuZy5jb20+CiAKICAgICAgICAg
YWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcgZG9lcyBub3Qgd29yayB3aXRoIGF0aSBkcml2ZXIKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9HUmVm
UHRyR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9HUmVmUHRyR1N0cmVhbWVyLmNwcAppbmRleCAzNzQ2OGJjNWMxNjk2OTlmOWNkM2VmZDhl
YThmZjgxNmNhMzY4NzlkLi5kZWViMzM5ZDJmYmVkMmI0NTRlZTJkNjgyYzNmZDFhYjBlOTExZTM0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
R1JlZlB0ckdTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyL0dSZWZQdHJHU3RyZWFtZXIuY3BwCkBAIC04Niw2ICs4NiwxMiBAQCB0ZW1w
bGF0ZSA8PiB2b2lkIGRlcmVmR1B0cjxHc3RQYWRUZW1wbGF0ZT4oR3N0UGFkVGVtcGxhdGUqIHB0
cikKICAgICAgICAgZ3N0X29iamVjdF91bnJlZihHU1RfT0JKRUNUKHB0cikpOwogfQogCit0ZW1w
bGF0ZSA8PiBHUmVmUHRyPEdzdENhcHM+IGFkb3B0R1JlZihHc3RDYXBzKiBwdHIpCit7CisgICAg
QVNTRVJUKCFwdHIgfHwgIWdzdE9iamVjdElzRmxvYXRpbmcoR1NUX09CSkVDVChwdHIpKSk7Cisg
ICAgcmV0dXJuIEdSZWZQdHI8R3N0Q2Fwcz4ocHRyLCBHUmVmUHRyQWRvcHQpOworfQorCiB0ZW1w
bGF0ZSA8PiBHc3RDYXBzKiByZWZHUHRyPEdzdENhcHM+KEdzdENhcHMqIHB0cikKIHsKICAgICBp
ZiAocHRyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL0dSZWZQdHJHU3RyZWFtZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dzdHJlYW1lci9HUmVmUHRyR1N0cmVhbWVyLmgKaW5kZXggYTNkY2RhOGFlNzc1OGE4Zjhj
MTc5NDcwODUzOGM1YjIxMGRhN2JmYi4uNWIwZWQwZGIyNTI2YzE4YTc4ZWE5YThjODU1ZjVlMTFm
NWUyYmE3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL0dSZWZQdHJHU3RyZWFtZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvR1JlZlB0ckdTdHJlYW1lci5oCkBAIC00NSw2ICs0NSw3IEBAIHRl
bXBsYXRlPD4gR1JlZlB0cjxHc3RQYWRUZW1wbGF0ZT4gYWRvcHRHUmVmKEdzdFBhZFRlbXBsYXRl
KiBwdHIpOwogdGVtcGxhdGU8PiBHc3RQYWRUZW1wbGF0ZSogcmVmR1B0cjxHc3RQYWRUZW1wbGF0
ZT4oR3N0UGFkVGVtcGxhdGUqIHB0cik7CiB0ZW1wbGF0ZTw+IHZvaWQgZGVyZWZHUHRyPEdzdFBh
ZFRlbXBsYXRlPihHc3RQYWRUZW1wbGF0ZSogcHRyKTsKIAordGVtcGxhdGU8PiBHUmVmUHRyPEdz
dENhcHM+IGFkb3B0R1JlZihHc3RDYXBzKiBwdHIpOwogdGVtcGxhdGU8PiBHc3RDYXBzKiByZWZH
UHRyPEdzdENhcHM+KEdzdENhcHMqIHB0cik7CiB0ZW1wbGF0ZTw+IHZvaWQgZGVyZWZHUHRyPEdz
dENhcHM+KEdzdENhcHMqIHB0cik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dzdHJlYW1lci9HU3RyZWFtZXJWZXJzaW9uaW5nLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9HU3RyZWFtZXJWZXJzaW9uaW5nLmNw
cAppbmRleCAzYzNmMzY3Yjk2NDBjODAzZTlkNTVlNTM4Mzg2ZmRmMjYzNDFjM2IxLi5kNjBlODgx
OTE4MTRiYzk1ODg3MmYyYmFjOWJiYTIyOGIzYmE1ODVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvR1N0cmVhbWVyVmVyc2lvbmluZy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dTdHJlYW1l
clZlcnNpb25pbmcuY3BwCkBAIC0zNCw3ICszNCw3IEBAIHZvaWQgd2Via2l0R3N0T2JqZWN0UmVm
U2luayhHc3RPYmplY3QqIGdzdE9iamVjdCkKICNlbmRpZgogfQogCi1Hc3RDYXBzKiB3ZWJraXRH
c3RHZXRQYWRDYXBzKEdzdFBhZCogcGFkKQorR1JlZlB0cjxHc3RDYXBzPiB3ZWJraXRHc3RHZXRQ
YWRDYXBzKEdzdFBhZCogcGFkKQogewogICAgIGlmICghcGFkKQogICAgICAgICByZXR1cm4gMDsK
QEAgLTQ3LDcgKzQ3LDEzIEBAIEdzdENhcHMqIHdlYmtpdEdzdEdldFBhZENhcHMoR3N0UGFkKiBw
YWQpCiAjZWxzZQogICAgIGNhcHMgPSBHU1RfUEFEX0NBUFMocGFkKTsKICNlbmRpZgotICAgIHJl
dHVybiBjYXBzOworICAgIGlmICghY2FwcykKKyAgICAgICAgcmV0dXJuIDA7CisjaWZkZWYgR1NU
X0FQSV9WRVJTSU9OXzEKKyAgICAgICAgcmV0dXJuIGFkb3B0R1JlZihjYXBzKTsKKyNlbHNlCisg
ICAgICAgIHJldHVybiBHUmVmUHRyPEdzdENhcHM+KGNhcHMpOworI2VuZGlmCiB9CiAKIGJvb2wg
Z2V0VmlkZW9TaXplQW5kRm9ybWF0RnJvbUNhcHMoR3N0Q2FwcyogY2FwcywgV2ViQ29yZTo6SW50
U2l6ZSYgc2l6ZSwgR3N0VmlkZW9Gb3JtYXQmIGZvcm1hdCwgaW50JiBwaXhlbEFzcGVjdFJhdGlv
TnVtZXJhdG9yLCBpbnQmIHBpeGVsQXNwZWN0UmF0aW9EZW5vbWluYXRvciwgaW50JiBzdHJpZGUp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
R1N0cmVhbWVyVmVyc2lvbmluZy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Z3N0cmVhbWVyL0dTdHJlYW1lclZlcnNpb25pbmcuaAppbmRleCBhOGU1MTgyZjZlMjJjNDg1ZjEy
ZjhkNWEwYWQ1OWY0MmVkMDUwMTQzLi4wNWFlMzk5OTRkZjEzZDY1MGVkNDhmZjg0MGRkOTc4NzU4
NWRjNDY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3Ry
ZWFtZXIvR1N0cmVhbWVyVmVyc2lvbmluZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2dzdHJlYW1lci9HU3RyZWFtZXJWZXJzaW9uaW5nLmgKQEAgLTIwLDYgKzIwLDgg
QEAKICNpZm5kZWYgR1N0cmVhbWVyVmVyc2lvbmluZ19oCiAjZGVmaW5lIEdTdHJlYW1lclZlcnNp
b25pbmdfaAogCisjaW5jbHVkZSAiR1JlZlB0ckdTdHJlYW1lci5oIgorCiAjaW5jbHVkZSA8Z3N0
L2dzdC5oPgogI2luY2x1ZGUgPGdzdC92aWRlby92aWRlby5oPgogCkBAIC0yOCw3ICszMCw3IEBA
IGNsYXNzIEludFNpemU7CiB9OwogCiB2b2lkIHdlYmtpdEdzdE9iamVjdFJlZlNpbmsoR3N0T2Jq
ZWN0Kik7Ci1Hc3RDYXBzKiB3ZWJraXRHc3RHZXRQYWRDYXBzKEdzdFBhZCopOworR1JlZlB0cjxH
c3RDYXBzPiB3ZWJraXRHc3RHZXRQYWRDYXBzKEdzdFBhZCopOwogYm9vbCBnZXRWaWRlb1NpemVB
bmRGb3JtYXRGcm9tQ2FwcyhHc3RDYXBzKiwgV2ViQ29yZTo6SW50U2l6ZSYsIEdzdFZpZGVvRm9y
bWF0JiwgaW50JiBwaXhlbEFzcGVjdFJhdGlvTnVtZXJhdG9yLCBpbnQmIHBpeGVsQXNwZWN0UmF0
aW9EZW5vbWluYXRvciwgaW50JiBzdHJpZGUpOwogR3N0QnVmZmVyKiBjcmVhdGVHc3RCdWZmZXIo
R3N0QnVmZmVyKik7CiB2b2lkIHNldEdzdEVsZW1lbnRDbGFzc01ldGFkYXRhKEdzdEVsZW1lbnRD
bGFzcyosIGNvbnN0IGNoYXIqIG5hbWUsIGNvbnN0IGNoYXIqIGxvbmdOYW1lLCBjb25zdCBjaGFy
KiBkZXNjcmlwdGlvbiwgY29uc3QgY2hhciogYXV0aG9yKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3Ry
ZWFtZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01l
ZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKaW5kZXggNmY1NzM2YmFhMDM5MDc0MjAwM2M2
NjBjNTZjNzBiMDM4MGJhOGVjNi4uYTRkNDc0NTFkOWZhYmQ4MTFlYzc0NGZlZGM3M2Y5MWNhOWVm
NmE0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVh
bWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lci5j
cHAKQEAgLTU0MCw3ICs1NDAsNyBAQCBJbnRTaXplIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1l
cjo6bmF0dXJhbFNpemUoKSBjb25zdAogICAgIGlmICghbV92aWRlb1NpemUuaXNFbXB0eSgpKQog
ICAgICAgICByZXR1cm4gbV92aWRlb1NpemU7CiAKLSAgICBHc3RDYXBzKiBjYXBzID0gd2Via2l0
R3N0R2V0UGFkQ2FwcyhtX3ZpZGVvU2lua1BhZC5nZXQoKSk7CisgICAgR1JlZlB0cjxHc3RDYXBz
PiBjYXBzID0gd2Via2l0R3N0R2V0UGFkQ2FwcyhtX3ZpZGVvU2lua1BhZC5nZXQoKSk7CiAgICAg
aWYgKCFjYXBzKQogICAgICAgICByZXR1cm4gSW50U2l6ZSgpOwogCkBAIC01NTUsNyArNTU1LDcg
QEAgSW50U2l6ZSBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXI6Om5hdHVyYWxTaXplKCkgY29u
c3QKICAgICBpbnQgcGl4ZWxBc3BlY3RSYXRpb051bWVyYXRvciwgcGl4ZWxBc3BlY3RSYXRpb0Rl
bm9taW5hdG9yLCBzdHJpZGU7CiAgICAgSW50U2l6ZSBvcmlnaW5hbFNpemU7CiAgICAgR3N0Vmlk
ZW9Gb3JtYXQgZm9ybWF0OwotICAgIGlmICghZ2V0VmlkZW9TaXplQW5kRm9ybWF0RnJvbUNhcHMo
Y2Fwcywgb3JpZ2luYWxTaXplLCBmb3JtYXQsIHBpeGVsQXNwZWN0UmF0aW9OdW1lcmF0b3IsIHBp
eGVsQXNwZWN0UmF0aW9EZW5vbWluYXRvciwgc3RyaWRlKSkKKyAgICBpZiAoIWdldFZpZGVvU2l6
ZUFuZEZvcm1hdEZyb21DYXBzKGNhcHMuZ2V0KCksIG9yaWdpbmFsU2l6ZSwgZm9ybWF0LCBwaXhl
bEFzcGVjdFJhdGlvTnVtZXJhdG9yLCBwaXhlbEFzcGVjdFJhdGlvRGVub21pbmF0b3IsIHN0cmlk
ZSkpCiAgICAgICAgIHJldHVybiBJbnRTaXplKCk7CiAKICAgICBMT0dfTUVESUFfTUVTU0FHRSgi
T3JpZ2luYWwgdmlkZW8gc2l6ZTogJWR4JWQiLCBvcmlnaW5hbFNpemUud2lkdGgoKSwgb3JpZ2lu
YWxTaXplLmhlaWdodCgpKTsKQEAgLTE1NjYsMTEgKzE1NjYsMTEgQEAgdm9pZCBNZWRpYVBsYXll
clByaXZhdGVHU3RyZWFtZXI6OnBhaW50KEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29uc3Qg
SW50UmVjdCYKICAgICBpZiAoIW1fYnVmZmVyKQogICAgICAgICByZXR1cm47CiAKLSAgICBHc3RD
YXBzKiBjYXBzID0gd2Via2l0R3N0R2V0UGFkQ2FwcyhtX3ZpZGVvU2lua1BhZC5nZXQoKSk7Cisg
ICAgR1JlZlB0cjxHc3RDYXBzPiBjYXBzID0gd2Via2l0R3N0R2V0UGFkQ2FwcyhtX3ZpZGVvU2lu
a1BhZC5nZXQoKSk7CiAgICAgaWYgKCFjYXBzKQogICAgICAgICByZXR1cm47CiAKLSAgICBSZWZQ
dHI8SW1hZ2VHU3RyZWFtZXI+IGdzdEltYWdlID0gSW1hZ2VHU3RyZWFtZXI6OmNyZWF0ZUltYWdl
KG1fYnVmZmVyLCBjYXBzKTsKKyAgICBSZWZQdHI8SW1hZ2VHU3RyZWFtZXI+IGdzdEltYWdlID0g
SW1hZ2VHU3RyZWFtZXI6OmNyZWF0ZUltYWdlKG1fYnVmZmVyLCBjYXBzLmdldCgpKTsKICAgICBp
ZiAoIWdzdEltYWdlKQogICAgICAgICByZXR1cm47CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9WaWRlb1NpbmtHU3RyZWFtZXIuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1ZpZGVvU2lua0dTdHJl
YW1lci5jcHAKaW5kZXggYzJjMGJkNGU0MjRmODlmYWExMGYyY2I5NTE1N2ZiZTg0M2FkMDZhYS4u
ZDg1MjE4NGMwNWE2ZjI1OGJiMmEwYTkyMDE1MDg2YmNmOThjYzljYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1ZpZGVvU2lua0dTdHJlYW1l
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1Zp
ZGVvU2lua0dTdHJlYW1lci5jcHAKQEAgLTI5LDYgKzI5LDcgQEAKICNpZiBVU0UoR1NUUkVBTUVS
KQogI2luY2x1ZGUgIlZpZGVvU2lua0dTdHJlYW1lci5oIgogCisjaW5jbHVkZSAiR1JlZlB0ckdT
dHJlYW1lci5oIgogI2luY2x1ZGUgIkdTdHJlYW1lclZlcnNpb25pbmcuaCIKICNpbmNsdWRlICJJ
bnRTaXplLmgiCiAjaW5jbHVkZSA8Z2xpYi5oPgpAQCAtMTcyLDI3ICsxNzMsMjAgQEAgc3RhdGlj
IEdzdEZsb3dSZXR1cm4gd2Via2l0VmlkZW9TaW5rUmVuZGVyKEdzdEJhc2VTaW5rKiBiYXNlU2lu
aywgR3N0QnVmZmVyKiBidWYKICAgICAgICAgZ3N0X2J1ZmZlcl9zZXRfY2Fwcyhwcml2LT5idWZm
ZXIsIEdTVF9QQURfQ0FQUyhHU1RfQkFTRV9TSU5LX1BBRChiYXNlU2luaykpKTsKICAgICB9CiAK
LSAgICBHc3RDYXBzKiBjYXBzID0gR1NUX0JVRkZFUl9DQVBTKGJ1ZmZlcik7CisgICAgR1JlZlB0
cjxHc3RDYXBzPiBjYXBzID0gR1NUX0JVRkZFUl9DQVBTKGJ1ZmZlcik7CiAjZWxzZQotICAgIEdz
dENhcHMqIGNhcHMgPSBnc3RfdmlkZW9faW5mb190b19jYXBzKCZwcml2LT5pbmZvKTsKKyAgICBH
UmVmUHRyPEdzdENhcHM+IGNhcHMgPSBhZG9wdEdSZWYoZ3N0X3ZpZGVvX2luZm9fdG9fY2Fwcygm
cHJpdi0+aW5mbykpOwogI2VuZGlmCiAKICAgICBHc3RWaWRlb0Zvcm1hdCBmb3JtYXQ7CiAgICAg
V2ViQ29yZTo6SW50U2l6ZSBzaXplOwogICAgIGludCBwaXhlbEFzcGVjdFJhdGlvTnVtZXJhdG9y
LCBwaXhlbEFzcGVjdFJhdGlvRGVub21pbmF0b3IsIHN0cmlkZTsKLSAgICBpZiAoIWdldFZpZGVv
U2l6ZUFuZEZvcm1hdEZyb21DYXBzKGNhcHMsIHNpemUsIGZvcm1hdCwgcGl4ZWxBc3BlY3RSYXRp
b051bWVyYXRvciwgcGl4ZWxBc3BlY3RSYXRpb0Rlbm9taW5hdG9yLCBzdHJpZGUpKSB7CisgICAg
aWYgKCFnZXRWaWRlb1NpemVBbmRGb3JtYXRGcm9tQ2FwcyhjYXBzLmdldCgpLCBzaXplLCBmb3Jt
YXQsIHBpeGVsQXNwZWN0UmF0aW9OdW1lcmF0b3IsIHBpeGVsQXNwZWN0UmF0aW9EZW5vbWluYXRv
ciwgc3RyaWRlKSkgewogICAgICAgICBnc3RfYnVmZmVyX3VucmVmKGJ1ZmZlcik7Ci0jaWZkZWYg
R1NUX0FQSV9WRVJTSU9OXzEKLSAgICAgICAgZ3N0X2NhcHNfdW5yZWYoY2Fwcyk7Ci0jZW5kaWYK
ICAgICAgICAgZ19tdXRleF91bmxvY2socHJpdi0+YnVmZmVyTXV0ZXgpOwogICAgICAgICByZXR1
cm4gR1NUX0ZMT1dfRVJST1I7CiAgICAgfQogCi0jaWZkZWYgR1NUX0FQSV9WRVJTSU9OXzEKLSAg
ICBnc3RfY2Fwc191bnJlZihjYXBzKTsKLSNlbmRpZgotCiAgICAgLy8gQ2Fpcm8ncyBBUkdCIGhh
cyBwcmUtbXVsdGlwbGllZCBhbHBoYSB3aGlsZSBHU3RyZWFtZXIncyBkb2Vzbid0LgogICAgIC8v
IEhlcmUgd2UgY29udmVydCB0byBDYWlybydzIEFSR0IuCiAgICAgaWYgKGZvcm1hdCA9PSBHU1Rf
VklERU9fRk9STUFUX0FSR0IgfHwgZm9ybWF0ID09IEdTVF9WSURFT19GT1JNQVRfQkdSQSkgewo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>168791</attachid>
            <date>2012-10-15 15:21:29 -0700</date>
            <delta_ts>2012-10-15 17:35:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-99362-20121015152017.patch</filename>
            <type>text/plain</type>
            <size>8962</size>
            <attacher name="arno.">a.renevier</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMxMDcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjMzNzU2N2E5NDQ3ZDM2
MmU0YzQ4NDRkNDEzMzFiOTgxYjMxZjZkNi4uYjRkNTM5YWIxMTMxOGQ1YjE5NDlmNDEyZjI1YjVm
ZmY0NDM0YWM2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEyLTEwLTE1ICBBcm5h
dWQgUmVuZXZpZXIgIDxhLnJlbmV2aWVyQHNpc2Euc2Ftc3VuZy5jb20+CisKKyAgICAgICAgW0dT
dHJlYW1lcl0gR3N0Q2FwcyBhcmUgbGVha2VkIHdoZW4gYnVpbGRpbmcgd2l0aCBnc3RyZWFtZXIt
MS4wCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05OTM2
MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEltcGxl
bWVudCBHUmVmUHRyPEdzdENhcHM+IGFkb3B0R1JlZihHc3RDYXBzKikuCisKKyAgICAgICAgQ2hh
bmdlIHdlYmtpdEdzdEdldFBhZENhcHMgc2lnbmF0dXJlIHRvIHJldHVybiBhIEdSZWZQdHI8R3N0
Q2Fwcz4sIGFuZAorICAgICAgICB1c2UgR1JlZlB0cjxHc3RDYXBzPiBhbHNvIGluIHdlYmtpdFZp
ZGVvU2lua1JlbmRlciB0byBzaW1wbHkgR3N0Q2FwcworICAgICAgICByZWZlZmVyZW5jZSBjb3Vu
dC4KKworICAgICAgICBDb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzLgorCisgICAgICAgICogcGxh
dGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dSZWZQdHJHU3RyZWFtZXIuY3BwOgorICAgICAgICAo
V1RGOjphZG9wdEdSZWYpOgorICAgICAgICAoV1RGKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvR1JlZlB0ckdTdHJlYW1lci5oOgorICAgICAgICAoV1RGKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvR1N0cmVhbWVyVmVyc2lvbmluZy5jcHA6
CisgICAgICAgICh3ZWJraXRHc3RHZXRQYWRDYXBzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9nc3RyZWFtZXIvR1N0cmVhbWVyVmVyc2lvbmluZy5oOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXIuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyOjpuYXR1cmFsU2l6ZSk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1ZpZGVvU2lua0dTdHJlYW1l
ci5jcHA6CisgICAgICAgICh3ZWJraXRWaWRlb1NpbmtSZW5kZXIpOgorCiAyMDEyLTEwLTExICBB
cm5hdWQgUmVuZXZpZXIgIDxhLnJlbmV2aWVyQHNpc2Euc2Ftc3VuZy5jb20+CiAKICAgICAgICAg
YWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcgZG9lcyBub3Qgd29yayB3aXRoIGF0aSBkcml2ZXIKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9HUmVm
UHRyR1N0cmVhbWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJl
YW1lci9HUmVmUHRyR1N0cmVhbWVyLmNwcAppbmRleCAzNzQ2OGJjNWMxNjk2OTlmOWNkM2VmZDhl
YThmZjgxNmNhMzY4NzlkLi5kZWViMzM5ZDJmYmVkMmI0NTRlZTJkNjgyYzNmZDFhYjBlOTExZTM0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
R1JlZlB0ckdTdHJlYW1lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyL0dSZWZQdHJHU3RyZWFtZXIuY3BwCkBAIC04Niw2ICs4NiwxMiBAQCB0ZW1w
bGF0ZSA8PiB2b2lkIGRlcmVmR1B0cjxHc3RQYWRUZW1wbGF0ZT4oR3N0UGFkVGVtcGxhdGUqIHB0
cikKICAgICAgICAgZ3N0X29iamVjdF91bnJlZihHU1RfT0JKRUNUKHB0cikpOwogfQogCit0ZW1w
bGF0ZSA8PiBHUmVmUHRyPEdzdENhcHM+IGFkb3B0R1JlZihHc3RDYXBzKiBwdHIpCit7CisgICAg
QVNTRVJUKCFwdHIgfHwgIWdzdE9iamVjdElzRmxvYXRpbmcoR1NUX09CSkVDVChwdHIpKSk7Cisg
ICAgcmV0dXJuIEdSZWZQdHI8R3N0Q2Fwcz4ocHRyLCBHUmVmUHRyQWRvcHQpOworfQorCiB0ZW1w
bGF0ZSA8PiBHc3RDYXBzKiByZWZHUHRyPEdzdENhcHM+KEdzdENhcHMqIHB0cikKIHsKICAgICBp
ZiAocHRyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL0dSZWZQdHJHU3RyZWFtZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2dzdHJlYW1lci9HUmVmUHRyR1N0cmVhbWVyLmgKaW5kZXggYTNkY2RhOGFlNzc1OGE4Zjhj
MTc5NDcwODUzOGM1YjIxMGRhN2JmYi4uNWIwZWQwZGIyNTI2YzE4YTc4ZWE5YThjODU1ZjVlMTFm
NWUyYmE3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0
cmVhbWVyL0dSZWZQdHJHU3RyZWFtZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvR1JlZlB0ckdTdHJlYW1lci5oCkBAIC00NSw2ICs0NSw3IEBAIHRl
bXBsYXRlPD4gR1JlZlB0cjxHc3RQYWRUZW1wbGF0ZT4gYWRvcHRHUmVmKEdzdFBhZFRlbXBsYXRl
KiBwdHIpOwogdGVtcGxhdGU8PiBHc3RQYWRUZW1wbGF0ZSogcmVmR1B0cjxHc3RQYWRUZW1wbGF0
ZT4oR3N0UGFkVGVtcGxhdGUqIHB0cik7CiB0ZW1wbGF0ZTw+IHZvaWQgZGVyZWZHUHRyPEdzdFBh
ZFRlbXBsYXRlPihHc3RQYWRUZW1wbGF0ZSogcHRyKTsKIAordGVtcGxhdGU8PiBHUmVmUHRyPEdz
dENhcHM+IGFkb3B0R1JlZihHc3RDYXBzKiBwdHIpOwogdGVtcGxhdGU8PiBHc3RDYXBzKiByZWZH
UHRyPEdzdENhcHM+KEdzdENhcHMqIHB0cik7CiB0ZW1wbGF0ZTw+IHZvaWQgZGVyZWZHUHRyPEdz
dENhcHM+KEdzdENhcHMqIHB0cik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dzdHJlYW1lci9HU3RyZWFtZXJWZXJzaW9uaW5nLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9HU3RyZWFtZXJWZXJzaW9uaW5nLmNw
cAppbmRleCAzYzNmMzY3Yjk2NDBjODAzZTlkNTVlNTM4Mzg2ZmRmMjYzNDFjM2IxLi42MzhmNDgw
ZmZlYTlhMDIyZmU3Y2VlNWYxZGQ3MmFhZjBkNzA5ZTViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvR1N0cmVhbWVyVmVyc2lvbmluZy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dTdHJlYW1l
clZlcnNpb25pbmcuY3BwCkBAIC0zNCwyMCArMzQsMTkgQEAgdm9pZCB3ZWJraXRHc3RPYmplY3RS
ZWZTaW5rKEdzdE9iamVjdCogZ3N0T2JqZWN0KQogI2VuZGlmCiB9CiAKLUdzdENhcHMqIHdlYmtp
dEdzdEdldFBhZENhcHMoR3N0UGFkKiBwYWQpCitHUmVmUHRyPEdzdENhcHM+IHdlYmtpdEdzdEdl
dFBhZENhcHMoR3N0UGFkKiBwYWQpCiB7CiAgICAgaWYgKCFwYWQpCiAgICAgICAgIHJldHVybiAw
OwogCi0gICAgR3N0Q2FwcyogY2FwczsKICNpZmRlZiBHU1RfQVBJX1ZFUlNJT05fMQotICAgIGNh
cHMgPSBnc3RfcGFkX2dldF9jdXJyZW50X2NhcHMocGFkKTsKKyAgICBHc3RDYXBzKiBjYXBzID0g
Z3N0X3BhZF9nZXRfY3VycmVudF9jYXBzKHBhZCk7CiAgICAgaWYgKCFjYXBzKQogICAgICAgICBj
YXBzID0gZ3N0X3BhZF9xdWVyeV9jYXBzKHBhZCwgMCk7CisgICAgcmV0dXJuIGFkb3B0R1JlZihj
YXBzKTsgLy8gZ3N0X3BhZF9xdWVyeV9jYXBzIGFuZCBnc3RfcGFkX2dldF9jdXJyZW50X2NhcHMg
cmV0dXJuIGEgbmV3IHJlZmVyZW5jZS4KICNlbHNlCi0gICAgY2FwcyA9IEdTVF9QQURfQ0FQUyhw
YWQpOworICAgIHJldHVybiBHU1RfUEFEX0NBUFMocGFkKTsKICNlbmRpZgotICAgIHJldHVybiBj
YXBzOwogfQogCiBib29sIGdldFZpZGVvU2l6ZUFuZEZvcm1hdEZyb21DYXBzKEdzdENhcHMqIGNh
cHMsIFdlYkNvcmU6OkludFNpemUmIHNpemUsIEdzdFZpZGVvRm9ybWF0JiBmb3JtYXQsIGludCYg
cGl4ZWxBc3BlY3RSYXRpb051bWVyYXRvciwgaW50JiBwaXhlbEFzcGVjdFJhdGlvRGVub21pbmF0
b3IsIGludCYgc3RyaWRlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvZ3N0cmVhbWVyL0dTdHJlYW1lclZlcnNpb25pbmcuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2dzdHJlYW1lci9HU3RyZWFtZXJWZXJzaW9uaW5nLmgKaW5kZXggYThl
NTE4MmY2ZTIyYzQ4NWYxMmY4ZDVhMGFkNTlmNDJlZDA1MDE0My4uMmVjZjA4Y2VmNzdlZTk5ZDQ3
NjIzOTEyMDM3ODI5OGM2Mjc3MjAxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL0dTdHJlYW1lclZlcnNpb25pbmcuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvR1N0cmVhbWVyVmVyc2lvbmluZy5o
CkBAIC0yMCw2ICsyMCw3IEBACiAjaWZuZGVmIEdTdHJlYW1lclZlcnNpb25pbmdfaAogI2RlZmlu
ZSBHU3RyZWFtZXJWZXJzaW9uaW5nX2gKIAorI2luY2x1ZGUgIkdSZWZQdHJHU3RyZWFtZXIuaCIK
ICNpbmNsdWRlIDxnc3QvZ3N0Lmg+CiAjaW5jbHVkZSA8Z3N0L3ZpZGVvL3ZpZGVvLmg+CiAKQEAg
LTI4LDcgKzI5LDcgQEAgY2xhc3MgSW50U2l6ZTsKIH07CiAKIHZvaWQgd2Via2l0R3N0T2JqZWN0
UmVmU2luayhHc3RPYmplY3QqKTsKLUdzdENhcHMqIHdlYmtpdEdzdEdldFBhZENhcHMoR3N0UGFk
Kik7CitHUmVmUHRyPEdzdENhcHM+IHdlYmtpdEdzdEdldFBhZENhcHMoR3N0UGFkKik7CiBib29s
IGdldFZpZGVvU2l6ZUFuZEZvcm1hdEZyb21DYXBzKEdzdENhcHMqLCBXZWJDb3JlOjpJbnRTaXpl
JiwgR3N0VmlkZW9Gb3JtYXQmLCBpbnQmIHBpeGVsQXNwZWN0UmF0aW9OdW1lcmF0b3IsIGludCYg
cGl4ZWxBc3BlY3RSYXRpb0Rlbm9taW5hdG9yLCBpbnQmIHN0cmlkZSk7CiBHc3RCdWZmZXIqIGNy
ZWF0ZUdzdEJ1ZmZlcihHc3RCdWZmZXIqKTsKIHZvaWQgc2V0R3N0RWxlbWVudENsYXNzTWV0YWRh
dGEoR3N0RWxlbWVudENsYXNzKiwgY29uc3QgY2hhciogbmFtZSwgY29uc3QgY2hhciogbG9uZ05h
bWUsIGNvbnN0IGNoYXIqIGRlc2NyaXB0aW9uLCBjb25zdCBjaGFyKiBhdXRob3IpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxh
eWVyUHJpdmF0ZUdTdHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAppbmRleCA2ZjU3MzZi
YWEwMzkwNzQyMDAzYzY2MGM1NmM3MGIwMzgwYmE4ZWM2Li5hNGQ0NzQ1MWQ5ZmFiZDgxMWVjNzQ0
ZmVkYzczZjkxY2E5ZWY2YTQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2
YXRlR1N0cmVhbWVyLmNwcApAQCAtNTQwLDcgKzU0MCw3IEBAIEludFNpemUgTWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyOjpuYXR1cmFsU2l6ZSgpIGNvbnN0CiAgICAgaWYgKCFtX3ZpZGVvU2l6
ZS5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybiBtX3ZpZGVvU2l6ZTsKIAotICAgIEdzdENhcHMq
IGNhcHMgPSB3ZWJraXRHc3RHZXRQYWRDYXBzKG1fdmlkZW9TaW5rUGFkLmdldCgpKTsKKyAgICBH
UmVmUHRyPEdzdENhcHM+IGNhcHMgPSB3ZWJraXRHc3RHZXRQYWRDYXBzKG1fdmlkZW9TaW5rUGFk
LmdldCgpKTsKICAgICBpZiAoIWNhcHMpCiAgICAgICAgIHJldHVybiBJbnRTaXplKCk7CiAKQEAg
LTU1NSw3ICs1NTUsNyBAQCBJbnRTaXplIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6bmF0
dXJhbFNpemUoKSBjb25zdAogICAgIGludCBwaXhlbEFzcGVjdFJhdGlvTnVtZXJhdG9yLCBwaXhl
bEFzcGVjdFJhdGlvRGVub21pbmF0b3IsIHN0cmlkZTsKICAgICBJbnRTaXplIG9yaWdpbmFsU2l6
ZTsKICAgICBHc3RWaWRlb0Zvcm1hdCBmb3JtYXQ7Ci0gICAgaWYgKCFnZXRWaWRlb1NpemVBbmRG
b3JtYXRGcm9tQ2FwcyhjYXBzLCBvcmlnaW5hbFNpemUsIGZvcm1hdCwgcGl4ZWxBc3BlY3RSYXRp
b051bWVyYXRvciwgcGl4ZWxBc3BlY3RSYXRpb0Rlbm9taW5hdG9yLCBzdHJpZGUpKQorICAgIGlm
ICghZ2V0VmlkZW9TaXplQW5kRm9ybWF0RnJvbUNhcHMoY2Fwcy5nZXQoKSwgb3JpZ2luYWxTaXpl
LCBmb3JtYXQsIHBpeGVsQXNwZWN0UmF0aW9OdW1lcmF0b3IsIHBpeGVsQXNwZWN0UmF0aW9EZW5v
bWluYXRvciwgc3RyaWRlKSkKICAgICAgICAgcmV0dXJuIEludFNpemUoKTsKIAogICAgIExPR19N
RURJQV9NRVNTQUdFKCJPcmlnaW5hbCB2aWRlbyBzaXplOiAlZHglZCIsIG9yaWdpbmFsU2l6ZS53
aWR0aCgpLCBvcmlnaW5hbFNpemUuaGVpZ2h0KCkpOwpAQCAtMTU2NiwxMSArMTU2NiwxMSBAQCB2
b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lcjo6cGFpbnQoR3JhcGhpY3NDb250ZXh0KiBj
b250ZXh0LCBjb25zdCBJbnRSZWN0JgogICAgIGlmICghbV9idWZmZXIpCiAgICAgICAgIHJldHVy
bjsKIAotICAgIEdzdENhcHMqIGNhcHMgPSB3ZWJraXRHc3RHZXRQYWRDYXBzKG1fdmlkZW9TaW5r
UGFkLmdldCgpKTsKKyAgICBHUmVmUHRyPEdzdENhcHM+IGNhcHMgPSB3ZWJraXRHc3RHZXRQYWRD
YXBzKG1fdmlkZW9TaW5rUGFkLmdldCgpKTsKICAgICBpZiAoIWNhcHMpCiAgICAgICAgIHJldHVy
bjsKIAotICAgIFJlZlB0cjxJbWFnZUdTdHJlYW1lcj4gZ3N0SW1hZ2UgPSBJbWFnZUdTdHJlYW1l
cjo6Y3JlYXRlSW1hZ2UobV9idWZmZXIsIGNhcHMpOworICAgIFJlZlB0cjxJbWFnZUdTdHJlYW1l
cj4gZ3N0SW1hZ2UgPSBJbWFnZUdTdHJlYW1lcjo6Y3JlYXRlSW1hZ2UobV9idWZmZXIsIGNhcHMu
Z2V0KCkpOwogICAgIGlmICghZ3N0SW1hZ2UpCiAgICAgICAgIHJldHVybjsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL1ZpZGVvU2lua0dT
dHJlYW1lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIv
VmlkZW9TaW5rR1N0cmVhbWVyLmNwcAppbmRleCBjMmMwYmQ0ZTQyNGY4OWZhYTEwZjJjYjk1MTU3
ZmJlODQzYWQwNmFhLi5kODUyMTg0YzA1YTZmMjU4YmIyYTBhOTIwMTUwODZiY2Y5OGNjOWNjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvVmlk
ZW9TaW5rR1N0cmVhbWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9nc3RyZWFtZXIvVmlkZW9TaW5rR1N0cmVhbWVyLmNwcApAQCAtMjksNiArMjksNyBAQAogI2lm
IFVTRShHU1RSRUFNRVIpCiAjaW5jbHVkZSAiVmlkZW9TaW5rR1N0cmVhbWVyLmgiCiAKKyNpbmNs
dWRlICJHUmVmUHRyR1N0cmVhbWVyLmgiCiAjaW5jbHVkZSAiR1N0cmVhbWVyVmVyc2lvbmluZy5o
IgogI2luY2x1ZGUgIkludFNpemUuaCIKICNpbmNsdWRlIDxnbGliLmg+CkBAIC0xNzIsMjcgKzE3
MywyMCBAQCBzdGF0aWMgR3N0Rmxvd1JldHVybiB3ZWJraXRWaWRlb1NpbmtSZW5kZXIoR3N0QmFz
ZVNpbmsqIGJhc2VTaW5rLCBHc3RCdWZmZXIqIGJ1ZgogICAgICAgICBnc3RfYnVmZmVyX3NldF9j
YXBzKHByaXYtPmJ1ZmZlciwgR1NUX1BBRF9DQVBTKEdTVF9CQVNFX1NJTktfUEFEKGJhc2VTaW5r
KSkpOwogICAgIH0KIAotICAgIEdzdENhcHMqIGNhcHMgPSBHU1RfQlVGRkVSX0NBUFMoYnVmZmVy
KTsKKyAgICBHUmVmUHRyPEdzdENhcHM+IGNhcHMgPSBHU1RfQlVGRkVSX0NBUFMoYnVmZmVyKTsK
ICNlbHNlCi0gICAgR3N0Q2FwcyogY2FwcyA9IGdzdF92aWRlb19pbmZvX3RvX2NhcHMoJnByaXYt
PmluZm8pOworICAgIEdSZWZQdHI8R3N0Q2Fwcz4gY2FwcyA9IGFkb3B0R1JlZihnc3RfdmlkZW9f
aW5mb190b19jYXBzKCZwcml2LT5pbmZvKSk7CiAjZW5kaWYKIAogICAgIEdzdFZpZGVvRm9ybWF0
IGZvcm1hdDsKICAgICBXZWJDb3JlOjpJbnRTaXplIHNpemU7CiAgICAgaW50IHBpeGVsQXNwZWN0
UmF0aW9OdW1lcmF0b3IsIHBpeGVsQXNwZWN0UmF0aW9EZW5vbWluYXRvciwgc3RyaWRlOwotICAg
IGlmICghZ2V0VmlkZW9TaXplQW5kRm9ybWF0RnJvbUNhcHMoY2Fwcywgc2l6ZSwgZm9ybWF0LCBw
aXhlbEFzcGVjdFJhdGlvTnVtZXJhdG9yLCBwaXhlbEFzcGVjdFJhdGlvRGVub21pbmF0b3IsIHN0
cmlkZSkpIHsKKyAgICBpZiAoIWdldFZpZGVvU2l6ZUFuZEZvcm1hdEZyb21DYXBzKGNhcHMuZ2V0
KCksIHNpemUsIGZvcm1hdCwgcGl4ZWxBc3BlY3RSYXRpb051bWVyYXRvciwgcGl4ZWxBc3BlY3RS
YXRpb0Rlbm9taW5hdG9yLCBzdHJpZGUpKSB7CiAgICAgICAgIGdzdF9idWZmZXJfdW5yZWYoYnVm
ZmVyKTsKLSNpZmRlZiBHU1RfQVBJX1ZFUlNJT05fMQotICAgICAgICBnc3RfY2Fwc191bnJlZihj
YXBzKTsKLSNlbmRpZgogICAgICAgICBnX211dGV4X3VubG9jayhwcml2LT5idWZmZXJNdXRleCk7
CiAgICAgICAgIHJldHVybiBHU1RfRkxPV19FUlJPUjsKICAgICB9CiAKLSNpZmRlZiBHU1RfQVBJ
X1ZFUlNJT05fMQotICAgIGdzdF9jYXBzX3VucmVmKGNhcHMpOwotI2VuZGlmCi0KICAgICAvLyBD
YWlybydzIEFSR0IgaGFzIHByZS1tdWx0aXBsaWVkIGFscGhhIHdoaWxlIEdTdHJlYW1lcidzIGRv
ZXNuJ3QuCiAgICAgLy8gSGVyZSB3ZSBjb252ZXJ0IHRvIENhaXJvJ3MgQVJHQi4KICAgICBpZiAo
Zm9ybWF0ID09IEdTVF9WSURFT19GT1JNQVRfQVJHQiB8fCBmb3JtYXQgPT0gR1NUX1ZJREVPX0ZP
Uk1BVF9CR1JBKSB7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>