<?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>182282</bug_id>
          
          <creation_ts>2018-01-30 00:22:33 -0800</creation_ts>
          <short_desc>REGRESSION(r227594) [WinCairo] NULL pointer crash in GraphicsContext::getWindowsContext</short_desc>
          <delta_ts>2018-02-01 16:17:40 -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>Layout and Rendering</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Christopher Reid">chris.reid</reporter>
          <assigned_to name="Fujii Hironori">fujii</assigned_to>
          <cc>achristensen</cc>
    
    <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>don.olmstead</cc>
    
    <cc>fujii</cc>
    
    <cc>pvollan</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1394460</commentid>
    <comment_count>0</comment_count>
    <who name="Christopher Reid">chris.reid</who>
    <bug_when>2018-01-30 00:22:33 -0800</bug_when>
    <thetext>GraphicsContext::m_data is null and dereferenced in GraphicsContextWin.cpp GraphicsContext::getWindowsContext. This is happening when loading a lot of websites such as youtube.com.

Call stack:
	WebKit.dll!WebCore::GraphicsContext::getWindowsContext(const WebCore::IntRect &amp; dstRect, bool supportAlphaBlend, bool mayCreateBitmap) Line 106	C++	Symbols loaded.
 	[Inline Frame] WebKit.dll!WebCore::LocalWindowsContext::{ctor}(WebCore::GraphicsContext &amp;) Line 43	C++	Symbols loaded.
 	WebKit.dll!WebCore::ScrollbarThemeWin::paintButton(WebCore::GraphicsContext &amp; context, WebCore::Scrollbar &amp; scrollbar, const WebCore::IntRect &amp; rect, WebCore::ScrollbarPart part) Line 342	C++	Symbols loaded.
 	WebKit.dll!WebCore::ScrollbarThemeComposite::paint(WebCore::Scrollbar &amp; scrollbar, WebCore::GraphicsContext &amp; graphicsContext, const WebCore::IntRect &amp; damageRect) Line 84	C++	Symbols loaded.
 	WebKit.dll!WebCore::Scrollbar::paint(WebCore::GraphicsContext &amp; context, const WebCore::IntRect &amp; damageRect, WebCore::Widget::SecurityOriginPaintPolicy __formal) Line 169	C++	Symbols loaded.
 	WebKit.dll!WebCore::paintScrollbar(WebCore::Scrollbar * scrollbar, WebCore::GraphicsContext &amp; context, const WebCore::IntRect &amp; clip) Line 2756	C++	Symbols loaded.
 	WebKit.dll!WebCore::RenderLayerCompositor::paintContents(const WebCore::GraphicsLayer * graphicsLayer, WebCore::GraphicsContext &amp; context, unsigned int __formal, const WebCore::FloatRect &amp; clip, unsigned int __formal) Line 2766	C++	Symbols loaded.
 	WebKit.dll!WebCore::GraphicsLayer::paintGraphicsLayerContents(WebCore::GraphicsContext &amp; context, const WebCore::FloatRect &amp; clip, unsigned int layerPaintBehavior) Line 435	C++	Symbols loaded.
 	WebKit.dll!WebCore::BitmapTexture::updateContents(WebCore::TextureMapper &amp; __formal, WebCore::GraphicsLayer * sourceLayer, const WebCore::IntRect &amp; targetRect, const WebCore::IntPoint &amp; offset, WebCore::BitmapTexture::UpdateContentsFlag updateContentsFlag, float scale) Line 57	C++	Symbols loaded.
 	WebKit.dll!WebCore::TextureMapperTile::updateContents(WebCore::TextureMapper &amp; textureMapper, WebCore::GraphicsLayer * sourceLayer, const WebCore::IntRect &amp; dirtyRect, WebCore::BitmapTexture::UpdateContentsFlag updateContentsFlag, float scale) Line 68	C++	Symbols loaded.
 	WebKit.dll!WebCore::TextureMapperTiledBackingStore::updateContents(WebCore::TextureMapper &amp; textureMapper, WebCore::GraphicsLayer * sourceLayer, const WebCore::FloatSize &amp; totalSize, const WebCore::IntRect &amp; dirtyRect, WebCore::BitmapTexture::UpdateContentsFlag updateContentsFlag) Line 163	C++	Symbols loaded.
 	WebKit.dll!WebCore::GraphicsLayerTextureMapper::updateBackingStoreIfNeeded() Line 552	C++	Symbols loaded.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1394471</commentid>
    <comment_count>1</comment_count>
    <who name="Christopher Reid">chris.reid</who>
    <bug_when>2018-01-30 01:45:43 -0800</bug_when>
    <thetext>It looks like the issue is caused because m_data is not being initialized when using the GraphicsContext factory constructor. platformInit is not being called here because GraphicsContextImpl creates its own GraphicsContextPlatformPrivate object. It seems like windows GraphicsContexts should be conditionally using a GraphicsContextPlatformPrivate object from GraphicsContextImpl instead of trying to directly access to m_data.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1394915</commentid>
    <comment_count>2</comment_count>
      <attachid>332745</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-01-30 23:27:39 -0800</bug_when>
    <thetext>Created attachment 332745
WIP patch

Hi Zan,

This is cuased by Bug 181977. My WIP patch reverts a part of it.
Could you take a look?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1395330</commentid>
    <comment_count>3</comment_count>
      <attachid>332845</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-01-31 20:51:22 -0800</bug_when>
    <thetext>Created attachment 332845
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1395628</commentid>
    <comment_count>4</comment_count>
      <attachid>332845</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2018-02-01 14:07:28 -0800</bug_when>
    <thetext>Comment on attachment 332845
Patch

Sorry about this and previous breakages. I try to make sure WinCairo EWS still compiles these changes, but I usually don&apos;t catch these more complex cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1395687</commentid>
    <comment_count>5</comment_count>
      <attachid>332845</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-02-01 16:16:55 -0800</bug_when>
    <thetext>Comment on attachment 332845
Patch

Clearing flags on attachment: 332845

Committed r227988: &lt;https://trac.webkit.org/changeset/227988&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1395688</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-02-01 16:16:57 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1395689</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-02-01 16:17:40 -0800</bug_when>
    <thetext>&lt;rdar://problem/37135878&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>332745</attachid>
            <date>2018-01-30 23:27:39 -0800</date>
            <delta_ts>2018-01-31 20:51:17 -0800</delta_ts>
            <desc>WIP patch</desc>
            <filename>a.diff</filename>
            <type>text/plain</type>
            <size>767</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0ltYWdl
QnVmZmVyQ2Fpcm8uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8v
SW1hZ2VCdWZmZXJDYWlyby5jcHAKaW5kZXggMGIwNThhNjA4NDMuLjU3YWZiMWEwNzFlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9JbWFnZUJ1ZmZl
ckNhaXJvLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYWlyby9J
bWFnZUJ1ZmZlckNhaXJvLmNwcApAQCAtMjQ3LDcgKzI0Nyw3IEBAIEltYWdlQnVmZmVyOjpJbWFn
ZUJ1ZmZlcihjb25zdCBGbG9hdFNpemUmIHNpemUsIGZsb2F0IHJlc29sdXRpb25TY2FsZSwgQ29s
b3JTcGFjCiAKICAgICBSZWZQdHI8Y2Fpcm9fdD4gY3IgPSBhZG9wdFJlZihjYWlyb19jcmVhdGUo
bV9kYXRhLm1fc3VyZmFjZS5nZXQoKSkpOwogICAgIG1fZGF0YS5tX3BsYXRmb3JtQ29udGV4dC5z
ZXRDcihjci5nZXQoKSk7Ci0gICAgbV9kYXRhLm1fY29udGV4dCA9IHN0ZDo6bWFrZV91bmlxdWU8
R3JhcGhpY3NDb250ZXh0PihHcmFwaGljc0NvbnRleHRJbXBsQ2Fpcm86OmNyZWF0ZUZhY3Rvcnko
bV9kYXRhLm1fcGxhdGZvcm1Db250ZXh0KSk7CisgICAgbV9kYXRhLm1fY29udGV4dCA9IHN0ZDo6
bWFrZV91bmlxdWU8R3JhcGhpY3NDb250ZXh0PigmbV9kYXRhLm1fcGxhdGZvcm1Db250ZXh0KTsK
ICAgICBzdWNjZXNzID0gdHJ1ZTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>332845</attachid>
            <date>2018-01-31 20:51:22 -0800</date>
            <delta_ts>2018-02-01 16:16:55 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-182282-20180201135121.patch</filename>
            <type>text/plain</type>
            <size>9315</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI3ODc0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzYxM2FiMDEwYzM3YTM2
ZmQyODRkOWVjYmRmMjk4MzA4MzFkNDM4ZS4uNDMzOWU5YmI1NmZkNDI0YmU1OTc4YThiZWE1NmRj
ZDNmODViODcwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDE4LTAxLTMxICBGdWpp
aSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnkuY29tPgorCisgICAgICAgIFJFR1JFU1NJ
T04ocjIyNzU5NCkgW1dpbkNhaXJvXSBOVUxMIHBvaW50ZXIgY3Jhc2ggaW4gR3JhcGhpY3NDb250
ZXh0OjpnZXRXaW5kb3dzQ29udGV4dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTgyMjgyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgSW1hZ2VCdWZmZXJDYWlybyBoYXMgYmVlbiBjaGFuZ2VkIHRvIHVzZSBH
cmFwaGljc0NvbnRleHRJbXBsQ2Fpcm8KKyAgICAgICAgaW4gcjIyNzU5NC4gQnV0LCBHcmFwaGlj
c0NvbnRleHQ6OmdldFdpbmRvd3NDb250ZXh0IGRvZXNuJ3QgY2FyZQorICAgICAgICB0aGUgY2Fz
ZSBvZiB1c2luZyBHcmFwaGljc0NvbnRleHRJbXBsIGFuZCBjcmFzaGVzIGR1ZSB0byBudWxsCisg
ICAgICAgIGRlcmVmZXJlbmNlIG9mIEdyYXBoaWNzQ29udGV4dDo6bV9kYXRhLgorCisgICAgICAg
IEdyYXBoaWNzQ29udGV4dDo6Z2V0V2luZG93c0NvbnRleHQgc2hvdWxkIGNyZWF0ZSBhIEhEQyBp
biB0aGF0IGNhc2UuCisKKyAgICAgICAgUmVtb3ZlIHRoZSBhcmd1bWVudCBtYXlDcmVhdGVCaXRt
YXAgYmVjYXVzZSBpdCBpcyBhbHdheXMKKyAgICAgICAgdHJ1ZSBhdCB0aGUgbW9tZW50LgorCisg
ICAgICAgIE5vIG5ldyB0ZXN0cyAoQ292ZXJlZCBieSB0aGUgZXhpc3RpbmcgdGVzdHMpCisKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuaDoKKyAgICAgICAgUmVt
b3ZlZCBhIGFyZ3VtZW50IG1heUNyZWF0ZUJpdG1hcCBvZiBnZXRXaW5kb3dzQ29udGV4dCBhbmQg
cmVsZWFzZVdpbmRvd3NDb250ZXh0LgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9H
cmFwaGljc0NvbnRleHRDR1dpbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRl
eHQ6OnJlbGVhc2VXaW5kb3dzQ29udGV4dCk6IERpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL3dpbi9HcmFwaGljc0NvbnRleHRDYWlyb1dpbi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpHcmFwaGljc0NvbnRleHQ6OnJlbGVhc2VXaW5kb3dzQ29udGV4dCk6IERpdHRvLgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9HcmFwaGljc0NvbnRleHREaXJlY3QyRC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OnJlbGVhc2VXaW5kb3dzQ29udGV4dCk6
IERpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3dpbi9HcmFwaGljc0NvbnRleHRX
aW4uY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0OjpnZXRXaW5kb3dzQ29u
dGV4dCk6CisgICAgICAgIENyZWF0ZSBhIEhEQyBpZiBtX2ltcGwgaXMgbnVsbC4gUmVtb3ZlZCBh
IGFyZ3VtZW50IG1heUNyZWF0ZUJpdG1hcC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93
aW4vTG9jYWxXaW5kb3dzQ29udGV4dC5oOgorICAgICAgICAoV2ViQ29yZTo6TG9jYWxXaW5kb3dz
Q29udGV4dDo6TG9jYWxXaW5kb3dzQ29udGV4dCk6CisgICAgICAgIFJlbW92ZWQgbV9tYXlDcmVh
dGVCaXRtYXAuCisgICAgICAgIChXZWJDb3JlOjpMb2NhbFdpbmRvd3NDb250ZXh0Ojp+TG9jYWxX
aW5kb3dzQ29udGV4dCk6IERpdHRvLgorCiAyMDE4LTAxLTMwICBZb3Vlbm4gRmFibGV0ICA8eW91
ZW5uQGFwcGxlLmNvbT4gYW5kIE9sZWtzYW5kciBTa2FjaGtvdiAgPGdza2FjaGtvdkBnbWFpbC5j
b20+CiAKICAgICAgICAgRmV0Y2hSZXNwb25zZSBzaG91bGQgc3VwcG9ydCBDb25zdW1lRGF0YSBj
YWxsYmFjayBvbiBjaHVuayBkYXRhIGlzIHJlY2VpdmVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCmluZGV4IDU3OWIwZTIyMWFhMWNh
ZTVjODlmYTA2ZjdhM2NhMDUwYjZjY2Y0OWUuLjlmMGNhMWUzYjcyZWM0ZWMxMDNiYTRmYTUxZTk4
NDhkZDg5YWIxMTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0dyYXBoaWNzQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0dyYXBoaWNzQ29udGV4dC5oCkBAIC00OTcsOCArNDk3LDggQEAgcHVibGljOgogICAgIEZsb2F0
U2l6ZSBzY2FsZUZhY3RvckZvckRyYXdpbmcoY29uc3QgRmxvYXRSZWN0JiBkZXN0UmVjdCwgY29u
c3QgRmxvYXRSZWN0JiBzcmNSZWN0KSBjb25zdDsKIAogI2lmIE9TKFdJTkRPV1MpCi0gICAgSERD
IGdldFdpbmRvd3NDb250ZXh0KGNvbnN0IEludFJlY3QmLCBib29sIHN1cHBvcnRBbHBoYUJsZW5k
LCBib29sIG1heUNyZWF0ZUJpdG1hcCk7IC8vIFRoZSBwYXNzZWQgaW4gcmVjdCBpcyB1c2VkIHRv
IGNyZWF0ZSBhIGJpdG1hcCBmb3IgY29tcG9zaXRpbmcgaW5zaWRlIHRyYW5zcGFyZW5jeSBsYXll
cnMuCi0gICAgdm9pZCByZWxlYXNlV2luZG93c0NvbnRleHQoSERDLCBjb25zdCBJbnRSZWN0Jiwg
Ym9vbCBzdXBwb3J0QWxwaGFCbGVuZCwgYm9vbCBtYXlDcmVhdGVCaXRtYXApOyAvLyBUaGUgcGFz
c2VkIGluIEhEQyBzaG91bGQgYmUgdGhlIG9uZSBoYW5kZWQgYmFjayBieSBnZXRXaW5kb3dzQ29u
dGV4dC4KKyAgICBIREMgZ2V0V2luZG93c0NvbnRleHQoY29uc3QgSW50UmVjdCYsIGJvb2wgc3Vw
cG9ydEFscGhhQmxlbmQpOyAvLyBUaGUgcGFzc2VkIGluIHJlY3QgaXMgdXNlZCB0byBjcmVhdGUg
YSBiaXRtYXAgZm9yIGNvbXBvc2l0aW5nIGluc2lkZSB0cmFuc3BhcmVuY3kgbGF5ZXJzLgorICAg
IHZvaWQgcmVsZWFzZVdpbmRvd3NDb250ZXh0KEhEQywgY29uc3QgSW50UmVjdCYsIGJvb2wgc3Vw
cG9ydEFscGhhQmxlbmQpOyAvLyBUaGUgcGFzc2VkIGluIEhEQyBzaG91bGQgYmUgdGhlIG9uZSBo
YW5kZWQgYmFjayBieSBnZXRXaW5kb3dzQ29udGV4dC4KICAgICBIREMgaGRjKCkgY29uc3Q7CiAj
aWYgUExBVEZPUk0oV0lOKQogI2lmIFVTRShXSU5HREkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vR3JhcGhpY3NDb250ZXh0Q0dXaW4uY3BwIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0dyYXBoaWNzQ29udGV4dENHV2luLmNw
cAppbmRleCBlYzRmN2E5YjY3OTcxN2JmYmJkNjljZTY1YWMzOTI0NjNhY2E3YjFmLi5jNDc4ODRk
NWRiYjg1MjllZDY5MWQxZjVlNmY5ZjBjZDg0NDQ2YWVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vR3JhcGhpY3NDb250ZXh0Q0dXaW4uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9HcmFwaGljc0NvbnRleHRDR1dp
bi5jcHAKQEAgLTkyLDkgKzkyLDkgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OnBsYXRmb3JtSW5p
dChIREMgaGRjLCBib29sIGhhc0FscGhhKQogCiAvLyBGSVhNRTogSXMgaXQgcG9zc2libGUgdG8g
bWVyZ2UgZ2V0V2luZG93c0NvbnRleHQgYW5kIGNyZWF0ZVdpbmRvd3NCaXRtYXAgaW50byBhIHNp
bmdsZSBBUEkKIC8vIHN1aXRhYmxlIGZvciBhbGwgY2xpZW50cz8KLXZvaWQgR3JhcGhpY3NDb250
ZXh0OjpyZWxlYXNlV2luZG93c0NvbnRleHQoSERDIGhkYywgY29uc3QgSW50UmVjdCYgZHN0UmVj
dCwgYm9vbCBzdXBwb3J0QWxwaGFCbGVuZCwgYm9vbCBtYXlDcmVhdGVCaXRtYXApCit2b2lkIEdy
YXBoaWNzQ29udGV4dDo6cmVsZWFzZVdpbmRvd3NDb250ZXh0KEhEQyBoZGMsIGNvbnN0IEludFJl
Y3QmIGRzdFJlY3QsIGJvb2wgc3VwcG9ydEFscGhhQmxlbmQpCiB7Ci0gICAgYm9vbCBjcmVhdGVk
Qml0bWFwID0gbWF5Q3JlYXRlQml0bWFwICYmICghbV9kYXRhLT5tX2hkYyB8fCBpc0luVHJhbnNw
YXJlbmN5TGF5ZXIoKSk7CisgICAgYm9vbCBjcmVhdGVkQml0bWFwID0gbV9pbXBsIHx8ICFtX2Rh
dGEtPm1faGRjIHx8IGlzSW5UcmFuc3BhcmVuY3lMYXllcigpOwogICAgIGlmICghY3JlYXRlZEJp
dG1hcCkgewogICAgICAgICBtX2RhdGEtPnJlc3RvcmUoKTsKICAgICAgICAgcmV0dXJuOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0dyYXBoaWNzQ29u
dGV4dENhaXJvV2luLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9H
cmFwaGljc0NvbnRleHRDYWlyb1dpbi5jcHAKaW5kZXggNTY0N2Q4OGI1OTZhNzk4ZDY5MDVmNDZh
MmU2NDZmZWI5ZmQ0MjE1Ny4uMmNkNTIyMzYyZjhlN2EwOWZjYzE1ZTU5NTliNjNjY2IyYjc5N2E0
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0dyYXBo
aWNzQ29udGV4dENhaXJvV2luLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy93aW4vR3JhcGhpY3NDb250ZXh0Q2Fpcm9XaW4uY3BwCkBAIC0xMjYsOSArMTI2LDkgQEAg
c3RhdGljIHZvaWQgZHJhd0JpdG1hcFRvQ29udGV4dChQbGF0Zm9ybUNvbnRleHRDYWlybyYgcGxh
dGZvcm1Db250ZXh0LCBjb25zdCBESUIKICAgICBjYWlyb19yZXN0b3JlKGNyKTsKIH0KIAotdm9p
ZCBHcmFwaGljc0NvbnRleHQ6OnJlbGVhc2VXaW5kb3dzQ29udGV4dChIREMgaGRjLCBjb25zdCBJ
bnRSZWN0JiBkc3RSZWN0LCBib29sIHN1cHBvcnRBbHBoYUJsZW5kLCBib29sIG1heUNyZWF0ZUJp
dG1hcCkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0OjpyZWxlYXNlV2luZG93c0NvbnRleHQoSERDIGhk
YywgY29uc3QgSW50UmVjdCYgZHN0UmVjdCwgYm9vbCBzdXBwb3J0QWxwaGFCbGVuZCkKIHsKLSAg
ICBib29sIGNyZWF0ZWRCaXRtYXAgPSBtYXlDcmVhdGVCaXRtYXAgJiYgKCFtX2RhdGEtPm1faGRj
IHx8IGlzSW5UcmFuc3BhcmVuY3lMYXllcigpKTsKKyAgICBib29sIGNyZWF0ZWRCaXRtYXAgPSBt
X2ltcGwgfHwgIW1fZGF0YS0+bV9oZGMgfHwgaXNJblRyYW5zcGFyZW5jeUxheWVyKCk7CiAgICAg
aWYgKCFoZGMgfHwgIWNyZWF0ZWRCaXRtYXApIHsKICAgICAgICAgbV9kYXRhLT5yZXN0b3JlKCk7
CiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3dpbi9HcmFwaGljc0NvbnRleHREaXJlY3QyRC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy93aW4vR3JhcGhpY3NDb250ZXh0RGlyZWN0MkQuY3BwCmluZGV4IDNh
ZWIxZGJiNWMzMTBhODllODk2YTUwYjQ1YjlkZTAyZjNjNmU4OGUuLjAxMGJmYjMxNDNhN2MwYThh
YTE3MTY2ZTYzZjlkMzYxYzhkOTcxYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL3dpbi9HcmFwaGljc0NvbnRleHREaXJlY3QyRC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0dyYXBoaWNzQ29udGV4dERpcmVjdDJELmNw
cApAQCAtMjY3LDkgKzI2Nyw5IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpkcmF3TmF0aXZlSW1h
Z2UoY29uc3QgQ09NUHRyPElEMkQxQml0bWFwPiYgaW1hZ2UsIGNvbnN0IEZsCiAgICAgICAgIGNv
bnRleHQtPlNldFRyYW5zZm9ybShjdG0pOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDo6cmVs
ZWFzZVdpbmRvd3NDb250ZXh0KEhEQyBoZGMsIGNvbnN0IEludFJlY3QmIGRzdFJlY3QsIGJvb2wg
c3VwcG9ydEFscGhhQmxlbmQsIGJvb2wgbWF5Q3JlYXRlQml0bWFwKQordm9pZCBHcmFwaGljc0Nv
bnRleHQ6OnJlbGVhc2VXaW5kb3dzQ29udGV4dChIREMgaGRjLCBjb25zdCBJbnRSZWN0JiBkc3RS
ZWN0LCBib29sIHN1cHBvcnRBbHBoYUJsZW5kKQogewotICAgIGJvb2wgY3JlYXRlZEJpdG1hcCA9
IG1heUNyZWF0ZUJpdG1hcCAmJiAoIW1fZGF0YS0+bV9oZGMgfHwgaXNJblRyYW5zcGFyZW5jeUxh
eWVyKCkpOworICAgIGJvb2wgY3JlYXRlZEJpdG1hcCA9IG1faW1wbCB8fCAhbV9kYXRhLT5tX2hk
YyB8fCBpc0luVHJhbnNwYXJlbmN5TGF5ZXIoKTsKICAgICBpZiAoIWNyZWF0ZWRCaXRtYXApIHsK
ICAgICAgICAgbV9kYXRhLT5yZXN0b3JlKCk7CiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9HcmFwaGljc0NvbnRleHRXaW4u
Y3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0dyYXBoaWNzQ29udGV4
dFdpbi5jcHAKaW5kZXggNDlhMjEwMzUxZjQ5NTZkOTYxZDA2ZTQ3NWRmZjU2M2RkZmNkOGU1Mi4u
NzJiMTM0NzEyODQxYTEyNWZkMGNkZGIwZTgwZjU1NmUwOTdlZjM4YiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0dyYXBoaWNzQ29udGV4dFdpbi5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0dyYXBoaWNzQ29udGV4
dFdpbi5jcHAKQEAgLTEwMCwxMCArMTAwLDEzIEBAIHN0ZDo6dW5pcXVlX3B0cjxHcmFwaGljc0Nv
bnRleHQ6OldpbmRvd3NCaXRtYXA+IEdyYXBoaWNzQ29udGV4dDo6Y3JlYXRlV2luZG93c0JpCiB9
CiAjZW5kaWYKIAotSERDIEdyYXBoaWNzQ29udGV4dDo6Z2V0V2luZG93c0NvbnRleHQoY29uc3Qg
SW50UmVjdCYgZHN0UmVjdCwgYm9vbCBzdXBwb3J0QWxwaGFCbGVuZCwgYm9vbCBtYXlDcmVhdGVC
aXRtYXApCitIREMgR3JhcGhpY3NDb250ZXh0OjpnZXRXaW5kb3dzQ29udGV4dChjb25zdCBJbnRS
ZWN0JiBkc3RSZWN0LCBib29sIHN1cHBvcnRBbHBoYUJsZW5kKQogeworICAgIEhEQyBoZGMgPSBu
dWxscHRyOworICAgIGlmICghbV9pbXBsKQorICAgICAgICBoZGMgPSBtX2RhdGEtPm1faGRjOwog
ICAgIC8vIEZJWE1FOiBTaG91bGQgYSBiaXRtYXAgYmUgY3JlYXRlZCBhbHNvIHdoZW4gYSBzaGFk
b3cgaXMgc2V0PwotICAgIGlmIChtYXlDcmVhdGVCaXRtYXAgJiYgKCFtX2RhdGEtPm1faGRjIHx8
IGlzSW5UcmFuc3BhcmVuY3lMYXllcigpKSkgeworICAgIGlmICghaGRjIHx8IGlzSW5UcmFuc3Bh
cmVuY3lMYXllcigpKSB7CiAgICAgICAgIGlmIChkc3RSZWN0LmlzRW1wdHkoKSkKICAgICAgICAg
ICAgIHJldHVybiAwOwogCkBAIC0xMTUsNyArMTE4LDcgQEAgSERDIEdyYXBoaWNzQ29udGV4dDo6
Z2V0V2luZG93c0NvbnRleHQoY29uc3QgSW50UmVjdCYgZHN0UmVjdCwgYm9vbCBzdXBwb3J0QWxw
aGEKICAgICAgICAgaWYgKCFiaXRtYXApCiAgICAgICAgICAgICByZXR1cm4gMDsKIAotICAgICAg
ICBhdXRvIGJpdG1hcERDID0gYWRvcHRHRElPYmplY3QoOjpDcmVhdGVDb21wYXRpYmxlREMobV9k
YXRhLT5tX2hkYykpOworICAgICAgICBhdXRvIGJpdG1hcERDID0gYWRvcHRHRElPYmplY3QoOjpD
cmVhdGVDb21wYXRpYmxlREMoaGRjKSk7CiAgICAgICAgIDo6U2VsZWN0T2JqZWN0KGJpdG1hcERD
LmdldCgpLCBiaXRtYXApOwogCiAgICAgICAgIC8vIEZpbGwgb3VyIGJ1ZmZlciB3aXRoIGNsZWFy
IGlmIHdlJ3JlIGdvaW5nIHRvIGFscGhhIGJsZW5kLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luL0xvY2FsV2luZG93c0NvbnRleHQuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3dpbi9Mb2NhbFdpbmRvd3NDb250ZXh0LmgKaW5kZXgg
M2FkZGMxNDRmYzcxZjc2MjQwYWY5OTY5NGZmMDVlMDY5ZDIxYjQzZS4uOTkxMWI2NWVmMzQ4Yzg3
Y2QwZTUyOGM4NTQ3OTYyYjAxYjdlNGEzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvd2luL0xvY2FsV2luZG93c0NvbnRleHQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW4vTG9jYWxXaW5kb3dzQ29udGV4dC5oCkBAIC0zNCwx
OCArMzQsMTcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgTG9jYWxXaW5kb3dzQ29udGV4
dCB7CiAgICAgV1RGX01BS0VfTk9OQ09QWUFCTEUoTG9jYWxXaW5kb3dzQ29udGV4dCk7CiBwdWJs
aWM6Ci0gICAgTG9jYWxXaW5kb3dzQ29udGV4dChHcmFwaGljc0NvbnRleHQmIGdyYXBoaWNzQ29u
dGV4dCwgY29uc3QgSW50UmVjdCYgcmVjdCwgYm9vbCBzdXBwb3J0QWxwaGFCbGVuZCA9IHRydWUs
IGJvb2wgbWF5Q3JlYXRlQml0bWFwID0gdHJ1ZSkKKyAgICBMb2NhbFdpbmRvd3NDb250ZXh0KEdy
YXBoaWNzQ29udGV4dCYgZ3JhcGhpY3NDb250ZXh0LCBjb25zdCBJbnRSZWN0JiByZWN0LCBib29s
IHN1cHBvcnRBbHBoYUJsZW5kID0gdHJ1ZSkKICAgICAgICAgOiBtX2dyYXBoaWNzQ29udGV4dChn
cmFwaGljc0NvbnRleHQpCiAgICAgICAgICwgbV9yZWN0KHJlY3QpCiAgICAgICAgICwgbV9zdXBw
b3J0QWxwaGFCbGVuZChzdXBwb3J0QWxwaGFCbGVuZCkKLSAgICAgICAgLCBtX21heUNyZWF0ZUJp
dG1hcChtYXlDcmVhdGVCaXRtYXApCiAgICAgewotICAgICAgICBtX2hkYyA9IG1fZ3JhcGhpY3ND
b250ZXh0LmdldFdpbmRvd3NDb250ZXh0KG1fcmVjdCwgbV9zdXBwb3J0QWxwaGFCbGVuZCwgbV9t
YXlDcmVhdGVCaXRtYXApOworICAgICAgICBtX2hkYyA9IG1fZ3JhcGhpY3NDb250ZXh0LmdldFdp
bmRvd3NDb250ZXh0KG1fcmVjdCwgbV9zdXBwb3J0QWxwaGFCbGVuZCk7CiAgICAgfQogCiAgICAg
fkxvY2FsV2luZG93c0NvbnRleHQoKQogICAgIHsKLSAgICAgICAgbV9ncmFwaGljc0NvbnRleHQu
cmVsZWFzZVdpbmRvd3NDb250ZXh0KG1faGRjLCBtX3JlY3QsIG1fc3VwcG9ydEFscGhhQmxlbmQs
IG1fbWF5Q3JlYXRlQml0bWFwKTsKKyAgICAgICAgbV9ncmFwaGljc0NvbnRleHQucmVsZWFzZVdp
bmRvd3NDb250ZXh0KG1faGRjLCBtX3JlY3QsIG1fc3VwcG9ydEFscGhhQmxlbmQpOwogICAgIH0K
IAogICAgIEhEQyBoZGMoKSBjb25zdCB7IHJldHVybiBtX2hkYzsgfQpAQCAtNTUsNyArNTQsNiBA
QCBwcml2YXRlOgogICAgIEhEQyBtX2hkYzsKICAgICBJbnRSZWN0IG1fcmVjdDsKICAgICBib29s
IG1fc3VwcG9ydEFscGhhQmxlbmQ7Ci0gICAgYm9vbCBtX21heUNyZWF0ZUJpdG1hcDsKIH07CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
</data>

          </attachment>
      

    </bug>

</bugzilla>