<?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>199619</bug_id>
          
          <creation_ts>2019-07-09 07:26:07 -0700</creation_ts>
          <short_desc>[GStreamer] Protect against null samples and samples with null buffers</short_desc>
          <delta_ts>2019-07-10 07:54:16 -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>Other</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Enrique Ocaña">eocanha</reporter>
          <assigned_to name="Enrique Ocaña">eocanha</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>pnormand</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1551215</commentid>
    <comment_count>0</comment_count>
    <who name="Enrique Ocaña">eocanha</who>
    <bug_when>2019-07-09 07:26:07 -0700</bug_when>
    <thetext>Under some circumstances (eg: after flushCurrentBuffer()), the (GstSample)m_sample stored by MediaPlayerPrivateGStreamerBase can contain a null GstBuffer. The GstVideoFrameHolder code and the MediaPlayerPrivateGStreamerBase::pushTextureToCompositor(), copyVideoTextureToPlatformTexture() and nativeImageForCurrentTime() methods don&apos;t properly manage that scenario, triggering crashes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551220</commentid>
    <comment_count>1</comment_count>
      <attachid>373717</attachid>
    <who name="Enrique Ocaña">eocanha</who>
    <bug_when>2019-07-09 07:42:07 -0700</bug_when>
    <thetext>Created attachment 373717
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551244</commentid>
    <comment_count>2</comment_count>
      <attachid>373717</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2019-07-09 08:55:42 -0700</bug_when>
    <thetext>Comment on attachment 373717
Patch

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

&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:141
&gt; -        if (UNLIKELY(!getSampleVideoInfo(sample, videoInfo)))
&gt; +        if (UNLIKELY(!(sample &amp;&amp; getSampleVideoInfo(sample, videoInfo))))

Under which circumstances the sample can be null here? I don&apos;t see how it could happen because GstVideoFrameHolder&apos;s are created only when GST_IS_SAMPLE(m_sample.get()) in the player. So we could actually add a RELEASE_ASSERT(GST_IS_SAMPLE(sample)) in the holder constructor.

&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:696
&gt; +    if (!(GST_IS_SAMPLE(m_sample.get()) &amp;&amp; gst_sample_get_buffer(m_sample.get())))

Why add this? The FrameHolder ctor already has similar code:

        m_buffer = gst_sample_get_buffer(sample);
        if (UNLIKELY(!GST_IS_BUFFER(m_buffer)))
            return;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551642</commentid>
    <comment_count>3</comment_count>
      <attachid>373717</attachid>
    <who name="Enrique Ocaña">eocanha</who>
    <bug_when>2019-07-10 05:10:38 -0700</bug_when>
    <thetext>Comment on attachment 373717
Patch

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

&gt;&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:141
&gt;&gt; +        if (UNLIKELY(!(sample &amp;&amp; getSampleVideoInfo(sample, videoInfo))))
&gt; 
&gt; Under which circumstances the sample can be null here? I don&apos;t see how it could happen because GstVideoFrameHolder&apos;s are created only when GST_IS_SAMPLE(m_sample.get()) in the player. So we could actually add a RELEASE_ASSERT(GST_IS_SAMPLE(sample)) in the holder constructor.

Yes, you&apos;re right, this can&apos;t happen.

&gt;&gt; Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:696
&gt;&gt; +    if (!(GST_IS_SAMPLE(m_sample.get()) &amp;&amp; gst_sample_get_buffer(m_sample.get())))
&gt; 
&gt; Why add this? The FrameHolder ctor already has similar code:
&gt; 
&gt;         m_buffer = gst_sample_get_buffer(sample);
&gt;         if (UNLIKELY(!GST_IS_BUFFER(m_buffer)))
&gt;             return;

Right, it&apos;s redundant and can be removed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551645</commentid>
    <comment_count>4</comment_count>
      <attachid>373830</attachid>
    <who name="Enrique Ocaña">eocanha</who>
    <bug_when>2019-07-10 05:30:39 -0700</bug_when>
    <thetext>Created attachment 373830
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551657</commentid>
    <comment_count>5</comment_count>
      <attachid>373830</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-07-10 07:53:57 -0700</bug_when>
    <thetext>Comment on attachment 373830
Patch

Clearing flags on attachment: 373830

Committed r247298: &lt;https://trac.webkit.org/changeset/247298&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551658</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2019-07-10 07:53:59 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1551659</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-07-10 07:54:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/52891241&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>373717</attachid>
            <date>2019-07-09 07:42:07 -0700</date>
            <delta_ts>2019-07-10 05:30:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199619-20190709144206.patch</filename>
            <type>text/plain</type>
            <size>4234</size>
            <attacher name="Enrique Ocaña">eocanha</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3MjA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWQ0MTVjOTdmOThhYzli
MDhkM2FhYmUyNzlhMjdhYTU2NmVkOWI1MC4uOGM2ZmU1NjVlMTAyMGVjOTkzNzRjMjRkMzVlNTFi
YzFhZjA1NGRlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE5LTA3LTA5ICBFbnJp
cXVlIE9jYcOxYSBHb256w6FsZXogIDxlb2NhbmhhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dT
dHJlYW1lcl0gUHJvdGVjdCBhZ2FpbnN0IG51bGwgc2FtcGxlcyBhbmQgc2FtcGxlcyB3aXRoIG51
bGwgYnVmZmVycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTk5NjE5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyQmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHc3RWaWRlb0ZyYW1lSG9sZGVyOjpHc3RW
aWRlb0ZyYW1lSG9sZGVyKTogRWFybHkgcmV0dXJuIG9uIG51bGwgc2FtcGxlcy4KKyAgICAgICAg
KFdlYkNvcmU6OkdzdFZpZGVvRnJhbWVIb2xkZXI6OnVwZGF0ZVRleHR1cmUpOiBQcm90ZWN0IGFn
YWluc3QgbnVsbCBtX2J1ZmZlciBhbmQgaW1wcm9wZXJseSBtYXBwZWQgdmlkZW8gZnJhbWUuCisg
ICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpwdXNoVGV4
dHVyZVRvQ29tcG9zaXRvcik6IEVhcmx5IHJldHVybiBvbiBudWxsIGJ1ZmZlciBpbiB0aGUgc2Ft
cGxlLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6
Y29weVZpZGVvVGV4dHVyZVRvUGxhdGZvcm1UZXh0dXJlKTogRGl0dG8uCisgICAgICAgIChXZWJD
b3JlOjpNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpuYXRpdmVJbWFnZUZvckN1cnJl
bnRUaW1lKTogRGl0dG8uCisKIDIwMTktMDctMDggIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQGFw
cGxlLmNvbT4KIAogICAgICAgICBbUG9pbnRlciBFdmVudHNdIEVuYWJsZSBvbmx5IG9uIHRoZSBt
b3N0IHJlY2VudCB2ZXJzaW9uIG9mIHRoZSBzdXBwb3J0ZWQgaU9TIGZhbWlseQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVy
UHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwCmluZGV4IGQw
M2Q0YjU4YTlhYmNkNDdlYzFkYTU5NzhjMmRiMDRmMjg2MzYxZWQuLmMxNTE2M2Q4NTYyZGJiMTFj
MDcxYjk5MmI3MTMzYzcxYjVlZTZlYmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQ
bGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZS5jcHAKQEAgLTEzOCw3ICsxMzgsNyBAQCBwdWJsaWM6
CiAgICAgZXhwbGljaXQgR3N0VmlkZW9GcmFtZUhvbGRlcihHc3RTYW1wbGUqIHNhbXBsZSwgVGV4
dHVyZU1hcHBlckdMOjpGbGFncyBmbGFncywgYm9vbCBnc3RHTEVuYWJsZWQpCiAgICAgewogICAg
ICAgICBHc3RWaWRlb0luZm8gdmlkZW9JbmZvOwotICAgICAgICBpZiAoVU5MSUtFTFkoIWdldFNh
bXBsZVZpZGVvSW5mbyhzYW1wbGUsIHZpZGVvSW5mbykpKQorICAgICAgICBpZiAoVU5MSUtFTFko
IShzYW1wbGUgJiYgZ2V0U2FtcGxlVmlkZW9JbmZvKHNhbXBsZSwgdmlkZW9JbmZvKSkpKQogICAg
ICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIG1fc2l6ZSA9IEludFNpemUoR1NUX1ZJREVPX0lO
Rk9fV0lEVEgoJnZpZGVvSW5mbyksIEdTVF9WSURFT19JTkZPX0hFSUdIVCgmdmlkZW9JbmZvKSk7
CkBAIC0xODcsNyArMTg3LDcgQEAgcHVibGljOgogICAgIHsKICAgICAgICAgQVNTRVJUKCFtX3Rl
eHR1cmVJRCk7CiAgICAgICAgIEdzdFZpZGVvR0xUZXh0dXJlVXBsb2FkTWV0YSogbWV0YTsKLSAg
ICAgICAgaWYgKChtZXRhID0gZ3N0X2J1ZmZlcl9nZXRfdmlkZW9fZ2xfdGV4dHVyZV91cGxvYWRf
bWV0YShtX2J1ZmZlcikpKSB7CisgICAgICAgIGlmIChtX2J1ZmZlciAmJiAobWV0YSA9IGdzdF9i
dWZmZXJfZ2V0X3ZpZGVvX2dsX3RleHR1cmVfdXBsb2FkX21ldGEobV9idWZmZXIpKSkgewogICAg
ICAgICAgICAgaWYgKG1ldGEtPm5fdGV4dHVyZXMgPT0gMSkgeyAvLyBCUkd4ICYgQkdSQSBmb3Jt
YXRzIHVzZSBvbmx5IG9uZSB0ZXh0dXJlLgogICAgICAgICAgICAgICAgIGd1aW50IGlkc1s0XSA9
IHsgdGV4dHVyZS5pZCgpLCAwLCAwLCAwIH07CiAKQEAgLTE5Niw4ICsxOTYsMTUgQEAgcHVibGlj
OgogICAgICAgICAgICAgfQogICAgICAgICB9CiAKKyAgICAgICAgaWYgKCFtX2lzTWFwcGVkKQor
ICAgICAgICAgICAgcmV0dXJuOworCiAgICAgICAgIGludCBzdHJpZGUgPSBHU1RfVklERU9fRlJB
TUVfUExBTkVfU1RSSURFKCZtX3ZpZGVvRnJhbWUsIDApOwogICAgICAgICBjb25zdCB2b2lkKiBz
cmNEYXRhID0gR1NUX1ZJREVPX0ZSQU1FX1BMQU5FX0RBVEEoJm1fdmlkZW9GcmFtZSwgMCk7CisK
KyAgICAgICAgaWYgKCFzcmNEYXRhKQorICAgICAgICAgICAgcmV0dXJuOworCiAgICAgICAgIHRl
eHR1cmUudXBkYXRlQ29udGVudHMoc3JjRGF0YSwgV2ViQ29yZTo6SW50UmVjdCgwLCAwLCBtX3Np
emUud2lkdGgoKSwgbV9zaXplLmhlaWdodCgpKSwgV2ViQ29yZTo6SW50UG9pbnQoMCwgMCksIHN0
cmlkZSk7CiAgICAgfQogCkBAIC02ODYsNyArNjkzLDcgQEAgdm9pZCBNZWRpYVBsYXllclByaXZh
dGVHU3RyZWFtZXJCYXNlOjpzd2FwQnVmZmVyc0lmTmVlZGVkKCkKIHZvaWQgTWVkaWFQbGF5ZXJQ
cml2YXRlR1N0cmVhbWVyQmFzZTo6cHVzaFRleHR1cmVUb0NvbXBvc2l0b3IoKQogewogICAgIGF1
dG8gc2FtcGxlTG9ja2VyID0gaG9sZExvY2sobV9zYW1wbGVNdXRleCk7Ci0gICAgaWYgKCFHU1Rf
SVNfU0FNUExFKG1fc2FtcGxlLmdldCgpKSkKKyAgICBpZiAoIShHU1RfSVNfU0FNUExFKG1fc2Ft
cGxlLmdldCgpKSAmJiBnc3Rfc2FtcGxlX2dldF9idWZmZXIobV9zYW1wbGUuZ2V0KCkpKSkKICAg
ICAgICAgcmV0dXJuOwogCiAgICAgYXV0byBwcm94eU9wZXJhdGlvbiA9CkBAIC04OTYsNyArOTAz
LDcgQEAgYm9vbCBNZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlOjpjb3B5VmlkZW9UZXh0
dXJlVG9QbGF0Zm9ybVRleHR1cmUoR3JhcGhpY3MKIAogICAgIGF1dG8gc2FtcGxlTG9ja2VyID0g
aG9sZExvY2sobV9zYW1wbGVNdXRleCk7CiAKLSAgICBpZiAoIUdTVF9JU19TQU1QTEUobV9zYW1w
bGUuZ2V0KCkpKQorICAgIGlmICghKEdTVF9JU19TQU1QTEUobV9zYW1wbGUuZ2V0KCkpICYmIGdz
dF9zYW1wbGVfZ2V0X2J1ZmZlcihtX3NhbXBsZS5nZXQoKSkpKQogICAgICAgICByZXR1cm4gZmFs
c2U7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8R3N0VmlkZW9GcmFtZUhvbGRlcj4gZnJhbWVIb2xk
ZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPEdzdFZpZGVvRnJhbWVIb2xkZXI+KG1fc2FtcGxlLmdldCgp
LCBtX3RleHR1cmVNYXBwZXJGbGFncywgdHJ1ZSk7CkBAIC05MjMsNyArOTMwLDcgQEAgTmF0aXZl
SW1hZ2VQdHIgTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVhbWVyQmFzZTo6bmF0aXZlSW1hZ2VGb3JD
dXJyZW50VGltZSgpCiAKICAgICBhdXRvIHNhbXBsZUxvY2tlciA9IGhvbGRMb2NrKG1fc2FtcGxl
TXV0ZXgpOwogCi0gICAgaWYgKCFHU1RfSVNfU0FNUExFKG1fc2FtcGxlLmdldCgpKSkKKyAgICBp
ZiAoIShHU1RfSVNfU0FNUExFKG1fc2FtcGxlLmdldCgpKSAmJiBnc3Rfc2FtcGxlX2dldF9idWZm
ZXIobV9zYW1wbGUuZ2V0KCkpKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKICAgICBzdGQ6
OnVuaXF1ZV9wdHI8R3N0VmlkZW9GcmFtZUhvbGRlcj4gZnJhbWVIb2xkZXIgPSBzdGQ6Om1ha2Vf
dW5pcXVlPEdzdFZpZGVvRnJhbWVIb2xkZXI+KG1fc2FtcGxlLmdldCgpLCBtX3RleHR1cmVNYXBw
ZXJGbGFncywgdHJ1ZSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>373830</attachid>
            <date>2019-07-10 05:30:39 -0700</date>
            <delta_ts>2019-07-10 07:53:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199619-20190710123038.patch</filename>
            <type>text/plain</type>
            <size>2642</size>
            <attacher name="Enrique Ocaña">eocanha</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ3MjA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWQ0MTVjOTdmOThhYzli
MDhkM2FhYmUyNzlhMjdhYTU2NmVkOWI1MC4uZWE4NTM0NTM0ODgwMDZlZmNmNDlkZTM4Nzg2MDVm
NzNjZGRjODdmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE5LTA3LTEwICBFbnJp
cXVlIE9jYcOxYSBHb256w6FsZXogIDxlb2NhbmhhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dT
dHJlYW1lcl0gUHJvdGVjdCBhZ2FpbnN0IG51bGwgc2FtcGxlcyBhbmQgc2FtcGxlcyB3aXRoIG51
bGwgYnVmZmVycworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTk5NjE5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRlR1N0cmVh
bWVyQmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHc3RWaWRlb0ZyYW1lSG9sZGVyOjpHc3RW
aWRlb0ZyYW1lSG9sZGVyKTogQXNzZXJ0IHRvIGVuZm9yY2Ugbm9uLW51bGwgc2FtcGxlcy4KKyAg
ICAgICAgKFdlYkNvcmU6OkdzdFZpZGVvRnJhbWVIb2xkZXI6OnVwZGF0ZVRleHR1cmUpOiBQcm90
ZWN0IGFnYWluc3QgbnVsbCBtX2J1ZmZlciBhbmQgaW1wcm9wZXJseSBtYXBwZWQgdmlkZW8gZnJh
bWUuCisKIDIwMTktMDctMDggIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQGFwcGxlLmNvbT4KIAog
ICAgICAgICBbUG9pbnRlciBFdmVudHNdIEVuYWJsZSBvbmx5IG9uIHRoZSBtb3N0IHJlY2VudCB2
ZXJzaW9uIG9mIHRoZSBzdXBwb3J0ZWQgaU9TIGZhbWlseQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVyL01lZGlhUGxheWVyUHJpdmF0ZUdTdHJl
YW1lckJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZ3N0cmVhbWVy
L01lZGlhUGxheWVyUHJpdmF0ZUdTdHJlYW1lckJhc2UuY3BwCmluZGV4IGQwM2Q0YjU4YTlhYmNk
NDdlYzFkYTU5NzhjMmRiMDRmMjg2MzYxZWQuLjhjYjg2ZDlhM2M3MDg0OWFkNTZlZDRkNGRhZGY2
YzdhMTUxZjU2OTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2dzdHJlYW1lci9NZWRpYVBsYXllclByaXZhdGVHU3RyZWFtZXJCYXNlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9nc3RyZWFtZXIvTWVkaWFQbGF5ZXJQcml2YXRl
R1N0cmVhbWVyQmFzZS5jcHAKQEAgLTEzNyw2ICsxMzcsOCBAQCBjbGFzcyBHc3RWaWRlb0ZyYW1l
SG9sZGVyIDogcHVibGljIFRleHR1cmVNYXBwZXJQbGF0Zm9ybUxheWVyQnVmZmVyOjpVbm1hbmFn
ZWRCdQogcHVibGljOgogICAgIGV4cGxpY2l0IEdzdFZpZGVvRnJhbWVIb2xkZXIoR3N0U2FtcGxl
KiBzYW1wbGUsIFRleHR1cmVNYXBwZXJHTDo6RmxhZ3MgZmxhZ3MsIGJvb2wgZ3N0R0xFbmFibGVk
KQogICAgIHsKKyAgICAgICAgUkVMRUFTRV9BU1NFUlQoR1NUX0lTX1NBTVBMRShzYW1wbGUpKTsK
KwogICAgICAgICBHc3RWaWRlb0luZm8gdmlkZW9JbmZvOwogICAgICAgICBpZiAoVU5MSUtFTFko
IWdldFNhbXBsZVZpZGVvSW5mbyhzYW1wbGUsIHZpZGVvSW5mbykpKQogICAgICAgICAgICAgcmV0
dXJuOwpAQCAtMTg3LDcgKzE4OSw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIEFTU0VSVCgh
bV90ZXh0dXJlSUQpOwogICAgICAgICBHc3RWaWRlb0dMVGV4dHVyZVVwbG9hZE1ldGEqIG1ldGE7
Ci0gICAgICAgIGlmICgobWV0YSA9IGdzdF9idWZmZXJfZ2V0X3ZpZGVvX2dsX3RleHR1cmVfdXBs
b2FkX21ldGEobV9idWZmZXIpKSkgeworICAgICAgICBpZiAobV9idWZmZXIgJiYgKG1ldGEgPSBn
c3RfYnVmZmVyX2dldF92aWRlb19nbF90ZXh0dXJlX3VwbG9hZF9tZXRhKG1fYnVmZmVyKSkpIHsK
ICAgICAgICAgICAgIGlmIChtZXRhLT5uX3RleHR1cmVzID09IDEpIHsgLy8gQlJHeCAmIEJHUkEg
Zm9ybWF0cyB1c2Ugb25seSBvbmUgdGV4dHVyZS4KICAgICAgICAgICAgICAgICBndWludCBpZHNb
NF0gPSB7IHRleHR1cmUuaWQoKSwgMCwgMCwgMCB9OwogCkBAIC0xOTYsOCArMTk4LDE1IEBAIHB1
YmxpYzoKICAgICAgICAgICAgIH0KICAgICAgICAgfQogCisgICAgICAgIGlmICghbV9pc01hcHBl
ZCkKKyAgICAgICAgICAgIHJldHVybjsKKwogICAgICAgICBpbnQgc3RyaWRlID0gR1NUX1ZJREVP
X0ZSQU1FX1BMQU5FX1NUUklERSgmbV92aWRlb0ZyYW1lLCAwKTsKICAgICAgICAgY29uc3Qgdm9p
ZCogc3JjRGF0YSA9IEdTVF9WSURFT19GUkFNRV9QTEFORV9EQVRBKCZtX3ZpZGVvRnJhbWUsIDAp
OworCisgICAgICAgIGlmICghc3JjRGF0YSkKKyAgICAgICAgICAgIHJldHVybjsKKwogICAgICAg
ICB0ZXh0dXJlLnVwZGF0ZUNvbnRlbnRzKHNyY0RhdGEsIFdlYkNvcmU6OkludFJlY3QoMCwgMCwg
bV9zaXplLndpZHRoKCksIG1fc2l6ZS5oZWlnaHQoKSksIFdlYkNvcmU6OkludFBvaW50KDAsIDAp
LCBzdHJpZGUpOwogICAgIH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>