<?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>164617</bug_id>
          
          <creation_ts>2016-11-10 14:11:36 -0800</creation_ts>
          <short_desc>REGRESSION(r207182): [iOS] Crash because of passing freed CFDictionaryRef to CG when decoding a sub-sampled large image</short_desc>
          <delta_ts>2016-11-10 18:23:57 -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>Images</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, Regression</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Said Abou-Hallawa">sabouhallawa</reporter>
          <assigned_to name="Said Abou-Hallawa">sabouhallawa</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>thorton</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1249973</commentid>
    <comment_count>0</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2016-11-10 14:11:36 -0800</bug_when>
    <thetext>On iOS image sub-sampling is enabled by default, WebCore::imageSourceOptions() creates a new dictionary for the image options every time it is called.

Because ImageDecoder::createFrameImageAtIndex() takes the raw pointer of the output of imageSourceOptions(), CFRelease() is called for the returned retain pointer. This happens immediately after assigning the raw pointer to the local variable.  This causes the CFDictionaryRef to be freed before passing it to CGImageSourceCreateImageAtIndex().

    CFDictionaryRef options = imageSourceOptions(subsamplingLevel, decodingMode).get();
    RetainPtr&lt;CGImageRef&gt; image = adoptCF(CGImageSourceCreateImageAtIndex(m_nativeDecoder.get(), index, options));

The original code was not getting the raw pointer into a local variable. Instead it was passing it directly to  CGImageSourceCreateImageAtIndex(). This prevents calling CFRelease() before CGImageSourceCreateImageAtIndex returns.

    RetainPtr&lt;CGImageRef&gt; image = adoptCF(CGImageSourceCreateImageAtIndex(m_nativeDecoder.get(), index, imageSourceOptions(subsamplingLevel).get()));</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1249974</commentid>
    <comment_count>1</comment_count>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2016-11-10 14:12:43 -0800</bug_when>
    <thetext>&lt;rdar://problem/28907947&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1250062</commentid>
    <comment_count>2</comment_count>
      <attachid>294443</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2016-11-10 16:53:37 -0800</bug_when>
    <thetext>Created attachment 294443
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1250064</commentid>
    <comment_count>3</comment_count>
      <attachid>294443</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2016-11-10 16:59:16 -0800</bug_when>
    <thetext>Comment on attachment 294443
Patch

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

&gt; Source/WebCore/platform/graphics/cg/ImageDecoderCG.cpp:65
&gt; +    CFDictionaryAddValue(options.get(), kCGImageSourceShouldCache, kCFBooleanTrue);

Why swap to Add? Set is a tiny bit cheaper (I think?) and we know that each key will only be used once.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1250066</commentid>
    <comment_count>4</comment_count>
      <attachid>294444</attachid>
    <who name="Said Abou-Hallawa">sabouhallawa</who>
    <bug_when>2016-11-10 17:02:08 -0800</bug_when>
    <thetext>Created attachment 294444
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1250105</commentid>
    <comment_count>5</comment_count>
      <attachid>294444</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-11-10 18:23:53 -0800</bug_when>
    <thetext>Comment on attachment 294444
Patch

Clearing flags on attachment: 294444

Committed r208575: &lt;http://trac.webkit.org/changeset/208575&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1250106</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-11-10 18:23:57 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>294443</attachid>
            <date>2016-11-10 16:53:37 -0800</date>
            <delta_ts>2016-11-10 17:02:06 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-164617-20161110164925.patch</filename>
            <type>text/plain</type>
            <size>5321</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA4NTE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2RiYTVhNGZjNmJlOWFk
YWJlNTc4ZDBmYTVjMGJiZmY0MDRiZDlkNC4uMmM1Mjk4ZWFjM2YzMmYzOTcwY2E4YTkxNThlNWQ3
NzkxNjY5MzE4MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDE2LTExLTEwICBTYWlk
IEFib3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVT
U0lPTihyMjA3MTgyKTogW2lPU10gQ3Jhc2ggYmVjYXVzZSBvZiBwYXNzaW5nIGZyZWVkIENGRGlj
dGlvbmFyeVJlZiB0byBDRyB3aGVuIGRlY29kaW5nIGEgc3ViLXNhbXBsZWQgbGFyZ2UgaW1hZ2UK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NDYxNwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgY292
ZXJlZCBieSB0aGUgdGVzdCBmYXN0L2ltYWdlcy9pbWFnZS1zdWJzYW1wbGluZy5odG1sIGJ1dCBp
dCBzaG91bGQKKyAgICAgICAgcnVuIHdpdGggLS1ndWFyZC1tYWxsb2MgLS1yZXBlYXQtZWFjaD0x
MCB0byBzaG93IHRoZSBidWcgb3IgdG8gdmVyaWZ5IHRoZQorICAgICAgICBmaXguCisKKyAgICAg
ICAgaW1hZ2VTb3VyY2VPcHRpb25zKCkgcmV0dXJucyBhIG5vbiBzdGF0aWMgUmV0YWluUHRyPENG
RGljdGlvbmFyeVJlZj4gaWYKKyAgICAgICAgdGhlIHN1YnNhbXBsaW5nTGV2ZWwgaXMgbm90IHpl
cm8uIEJlY2F1c2Ugd2UgYXJlIGFzc2lnbmluZyB0aGUgcmF3IHBvaW50ZXIKKyAgICAgICAgdG8g
YSBsb2NhbCB2YXJpYWJsZSBpbiBJbWFnZURlY29kZXI6OmNyZWF0ZUZyYW1lSW1hZ2VBdEluZGV4
KCksIENGUmVsZWFzZSgpCisgICAgICAgIGlzIGNhbGxlZCBmb3IgdGhlIENGRGljdGlvbmFyeVJl
ZiBpbW1lZGlhdGVseSBhZnRlciB0aGlzIGFzc2lnbm1lbnQuIFRoaXMKKyAgICAgICAgY2F1c2Vz
IGl0cyBtZW1vcnkgdG8gYmUgZnJlZWQgaW4gdGhpcyBjYXNlIGV2ZW4gYmVmb3JlIGNhbGxpbmcg
Q0cuCisKKyAgICAgICAgVGhpcyBidWcgZG9lcyBub3QgaGFwcGVuIGlmIHRoZSBzdWJzYW1wbGlu
Z0xldmVsIGlzIHplcm8gYmVjYXVzZSB3ZSBjYWNoZQorICAgICAgICB0aGUgcmV0dXJuZWQgdmFs
dWUgaW4gYSBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8UmV0YWluUHRyPENGRGljdGlvbmFyeVJlZj4g
aW4KKyAgICAgICAgaW1hZ2VTb3VyY2VPcHRpb25zKCkuIFRoaXMgY2FjaGUgcHJldmVudHMgdGhl
IENGRGljdGlvbmFyeVJlZiBmcm9tIGJlaW5nCisgICAgICAgIGZyZWVkIGluIEltYWdlRGVjb2Rl
cjo6Y3JlYXRlRnJhbWVJbWFnZUF0SW5kZXgoKSBubyBtYXR0ZXIgd2hlcmUgQ0ZSZWxlYXNlKCkK
KyAgICAgICAgaXMgY2FsbGVkLgorCisgICAgICAgIFRoZSBmaXggaXMgaG9sZCB0aGUgcmV0dXJu
ZWQgdmFsdWUgaW4gYSBSZXRhaW5QdHI8Q0ZEaWN0aW9uYXJ5UmVmPi4gVGhpcworICAgICAgICB3
aWxsIGVuc3VyZSB0aGUgQ0ZEaWN0aW9uYXJ5UmVmIHJhdyBwb2ludGVyIGlzIHZhbGlkIHRpbGwg
dGhlIGVuZCBvZgorICAgICAgICBJbWFnZURlY29kZXI6OmNyZWF0ZUZyYW1lSW1hZ2VBdEluZGV4
KCkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZURlY29kZXJDRy5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpjcmVhdGVJbWFnZVNvdXJjZU9wdGlvbnMpOiBVc2UgQ0ZEaWN0
aW9uYXJ5QWRkVmFsdWUoKSBpbnN0ZWFkLgorICAgICAgICAoV2ViQ29yZTo6SW1hZ2VEZWNvZGVy
OjpjcmVhdGVGcmFtZUltYWdlQXRJbmRleCk6IEVuc3VyZSB0aGUgcG9pbnRlciBpcyByZXRhaW5l
ZC4KKwogMjAxNi0xMS0wOSAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJpc3RlbnNlbkB3ZWJraXQu
b3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIyMDg0MzguCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZURlY29kZXJDRy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jZy9JbWFnZURlY29kZXJDRy5j
cHAKaW5kZXggNzBiZGUxODhhOWQ3M2U1NGZhODg3N2I3MDA2N2I0MWIwZjM0NzQ5MC4uOGY2YzQy
ZWNiNjQzNDMwZDRhN2RjMDA2OGQ4MzdkMDY5YmVhNjMyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvSW1hZ2VEZWNvZGVyQ0cuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlRGVjb2RlckNHLmNwcApAQCAtNjIs
MjEgKzYyLDIxIEBAIHN0YXRpYyBSZXRhaW5QdHI8Q0ZEaWN0aW9uYXJ5UmVmPiBjcmVhdGVJbWFn
ZVNvdXJjZU9wdGlvbnMoU3Vic2FtcGxpbmdMZXZlbCBzdWJzCiB7CiAgICAgUmV0YWluUHRyPENG
TXV0YWJsZURpY3Rpb25hcnlSZWY+IG9wdGlvbnMgPSBhZG9wdENGKENGRGljdGlvbmFyeUNyZWF0
ZU11dGFibGUobnVsbHB0ciwgMCwgJmtDRlR5cGVEaWN0aW9uYXJ5S2V5Q2FsbEJhY2tzLCAma0NG
VHlwZURpY3Rpb25hcnlWYWx1ZUNhbGxCYWNrcykpOwogCi0gICAgQ0ZEaWN0aW9uYXJ5U2V0VmFs
dWUob3B0aW9ucy5nZXQoKSwga0NHSW1hZ2VTb3VyY2VTaG91bGRDYWNoZSwga0NGQm9vbGVhblRy
dWUpOwotICAgIENGRGljdGlvbmFyeVNldFZhbHVlKG9wdGlvbnMuZ2V0KCksIGtDR0ltYWdlU291
cmNlU2hvdWxkUHJlZmVyUkdCMzIsIGtDRkJvb2xlYW5UcnVlKTsKLSAgICBDRkRpY3Rpb25hcnlT
ZXRWYWx1ZShvcHRpb25zLmdldCgpLCBrQ0dJbWFnZVNvdXJjZVNraXBNZXRhZGF0YSwga0NGQm9v
bGVhblRydWUpOworICAgIENGRGljdGlvbmFyeUFkZFZhbHVlKG9wdGlvbnMuZ2V0KCksIGtDR0lt
YWdlU291cmNlU2hvdWxkQ2FjaGUsIGtDRkJvb2xlYW5UcnVlKTsKKyAgICBDRkRpY3Rpb25hcnlB
ZGRWYWx1ZShvcHRpb25zLmdldCgpLCBrQ0dJbWFnZVNvdXJjZVNob3VsZFByZWZlclJHQjMyLCBr
Q0ZCb29sZWFuVHJ1ZSk7CisgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUob3B0aW9ucy5nZXQoKSwg
a0NHSW1hZ2VTb3VyY2VTa2lwTWV0YWRhdGEsIGtDRkJvb2xlYW5UcnVlKTsKIAogICAgIGlmIChz
dWJzYW1wbGluZ0xldmVsID4gU3Vic2FtcGxpbmdMZXZlbDo6Rmlyc3QpIHsKICAgICAgICAgUmV0
YWluUHRyPENGTnVtYmVyUmVmPiBzdWJzYW1wbGVOdW1iZXI7CiAgICAgICAgIHN1YnNhbXBsaW5n
TGV2ZWwgPSBzdGQ6Om1pbihTdWJzYW1wbGluZ0xldmVsOjpMYXN0LCBzdGQ6Om1heChTdWJzYW1w
bGluZ0xldmVsOjpGaXJzdCwgc3Vic2FtcGxpbmdMZXZlbCkpOwogICAgICAgICBpbnQgc3Vic2Ft
cGxlSW50ID0gMSA8PCBzdGF0aWNfY2FzdDxpbnQ+KHN1YnNhbXBsaW5nTGV2ZWwpOyAvLyBbMC4u
M10gPT4gWzEsIDIsIDQsIDhdCiAgICAgICAgIHN1YnNhbXBsZU51bWJlciA9IGFkb3B0Q0YoQ0ZO
dW1iZXJDcmVhdGUobnVsbHB0ciwgIGtDRk51bWJlckludFR5cGUsICAmc3Vic2FtcGxlSW50KSk7
Ci0gICAgICAgIENGRGljdGlvbmFyeVNldFZhbHVlKG9wdGlvbnMuZ2V0KCksIGtDR0ltYWdlU291
cmNlU3Vic2FtcGxlRmFjdG9yLCBzdWJzYW1wbGVOdW1iZXIuZ2V0KCkpOworICAgICAgICBDRkRp
Y3Rpb25hcnlBZGRWYWx1ZShvcHRpb25zLmdldCgpLCBrQ0dJbWFnZVNvdXJjZVN1YnNhbXBsZUZh
Y3Rvciwgc3Vic2FtcGxlTnVtYmVyLmdldCgpKTsKICAgICB9CiAKICAgICBpZiAoZGVjb2RpbmdN
b2RlID09IERlY29kaW5nTW9kZTo6SW1tZWRpYXRlKSB7Ci0gICAgICAgIENGRGljdGlvbmFyeVNl
dFZhbHVlKG9wdGlvbnMuZ2V0KCksIGtDR0ltYWdlU291cmNlU2hvdWxkQ2FjaGVJbW1lZGlhdGVs
eSwga0NGQm9vbGVhblRydWUpOwotICAgICAgICBDRkRpY3Rpb25hcnlTZXRWYWx1ZShvcHRpb25z
LmdldCgpLCBrQ0dJbWFnZVNvdXJjZUNyZWF0ZVRodW1ibmFpbEZyb21JbWFnZUFsd2F5cywga0NG
Qm9vbGVhblRydWUpOworICAgICAgICBDRkRpY3Rpb25hcnlBZGRWYWx1ZShvcHRpb25zLmdldCgp
LCBrQ0dJbWFnZVNvdXJjZVNob3VsZENhY2hlSW1tZWRpYXRlbHksIGtDRkJvb2xlYW5UcnVlKTsK
KyAgICAgICAgQ0ZEaWN0aW9uYXJ5QWRkVmFsdWUob3B0aW9ucy5nZXQoKSwga0NHSW1hZ2VTb3Vy
Y2VDcmVhdGVUaHVtYm5haWxGcm9tSW1hZ2VBbHdheXMsIGtDRkJvb2xlYW5UcnVlKTsKICAgICB9
CiAKICAgICByZXR1cm4gb3B0aW9uczsKQEAgLTM0MywxMyArMzQzLDEzIEBAIE5hdGl2ZUltYWdl
UHRyIEltYWdlRGVjb2Rlcjo6Y3JlYXRlRnJhbWVJbWFnZUF0SW5kZXgoc2l6ZV90IGluZGV4LCBT
dWJzYW1wbGluZ0xlCiB7CiAgICAgTE9HKEltYWdlcywgIkltYWdlRGVjb2RlciAlcCBjcmVhdGVG
cmFtZUltYWdlQXRJbmRleCAlbHUiLCB0aGlzLCBpbmRleCk7CiAKLSAgICBjb25zdCBhdXRvKiBv
cHRpb25zID0gaW1hZ2VTb3VyY2VPcHRpb25zKHN1YnNhbXBsaW5nTGV2ZWwsIGRlY29kaW5nTW9k
ZSkuZ2V0KCk7CisgICAgUmV0YWluUHRyPENGRGljdGlvbmFyeVJlZj4gb3B0aW9ucyA9IGltYWdl
U291cmNlT3B0aW9ucyhzdWJzYW1wbGluZ0xldmVsLCBkZWNvZGluZ01vZGUpOwogICAgIFJldGFp
blB0cjxDR0ltYWdlUmVmPiBpbWFnZTsKIAogICAgIGlmIChkZWNvZGluZ01vZGUgPT0gRGVjb2Rp
bmdNb2RlOjpPbkRlbWFuZCkKLSAgICAgICAgaW1hZ2UgPSBhZG9wdENGKENHSW1hZ2VTb3VyY2VD
cmVhdGVJbWFnZUF0SW5kZXgobV9uYXRpdmVEZWNvZGVyLmdldCgpLCBpbmRleCwgb3B0aW9ucykp
OworICAgICAgICBpbWFnZSA9IGFkb3B0Q0YoQ0dJbWFnZVNvdXJjZUNyZWF0ZUltYWdlQXRJbmRl
eChtX25hdGl2ZURlY29kZXIuZ2V0KCksIGluZGV4LCBvcHRpb25zLmdldCgpKSk7CiAgICAgZWxz
ZQotICAgICAgICBpbWFnZSA9IGFkb3B0Q0YoQ0dJbWFnZVNvdXJjZUNyZWF0ZVRodW1ibmFpbEF0
SW5kZXgobV9uYXRpdmVEZWNvZGVyLmdldCgpLCBpbmRleCwgb3B0aW9ucykpOworICAgICAgICBp
bWFnZSA9IGFkb3B0Q0YoQ0dJbWFnZVNvdXJjZUNyZWF0ZVRodW1ibmFpbEF0SW5kZXgobV9uYXRp
dmVEZWNvZGVyLmdldCgpLCBpbmRleCwgb3B0aW9ucy5nZXQoKSkpOwogICAgIAogI2lmIFBMQVRG
T1JNKElPUykKICAgICAvLyA8cmRhcjovL3Byb2JsZW0vNzM3MTE5OD4gLSBDb3JlR3JhcGhpY3Mg
Y2hhbmdlZCB0aGUgZGVmYXVsdCBjYWNoaW5nIGJlaGF2aW91ciBpbiBpT1MgNC4wIHRvIGtDR0lt
YWdlQ2FjaGluZ1RyYW5zaWVudAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>294444</attachid>
            <date>2016-11-10 17:02:08 -0800</date>
            <delta_ts>2016-11-10 18:23:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-164617-20161110165755.patch</filename>
            <type>text/plain</type>
            <size>3323</size>
            <attacher name="Said Abou-Hallawa">sabouhallawa</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA4NTE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2RiYTVhNGZjNmJlOWFk
YWJlNTc4ZDBmYTVjMGJiZmY0MDRiZDlkNC4uNjJkZGM3NzA2Yjg5NDExNTlkYTk0ZjVkOTQ4MDk4
ZjcwMDlmNzlkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDE2LTExLTEwICBTYWlk
IEFib3UtSGFsbGF3YSAgPHNhYm91aGFsbGF3YUBhcHBsZS5jb20+CisKKyAgICAgICAgUkVHUkVT
U0lPTihyMjA3MTgyKTogW2lPU10gQ3Jhc2ggYmVjYXVzZSBvZiBwYXNzaW5nIGZyZWVkIENGRGlj
dGlvbmFyeVJlZiB0byBDRyB3aGVuIGRlY29kaW5nIGEgc3ViLXNhbXBsZWQgbGFyZ2UgaW1hZ2UK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NDYxNwor
CisgICAgICAgIFJldmlld2VkIGJ5IFRpbSBIb3J0b24uCisKKyAgICAgICAgVGhpcyBjb3ZlcmVk
IGJ5IHRoZSB0ZXN0IGZhc3QvaW1hZ2VzL2ltYWdlLXN1YnNhbXBsaW5nLmh0bWwgYnV0IGl0IHNo
b3VsZAorICAgICAgICBydW4gd2l0aCAtLWd1YXJkLW1hbGxvYyAtLXJlcGVhdC1lYWNoPTEwIHRv
IHNob3cgdGhlIGJ1ZyBvciB0byB2ZXJpZnkgdGhlCisgICAgICAgIGZpeC4KKworICAgICAgICBp
bWFnZVNvdXJjZU9wdGlvbnMoKSByZXR1cm5zIGEgbm9uIHN0YXRpYyBSZXRhaW5QdHI8Q0ZEaWN0
aW9uYXJ5UmVmPiBpZgorICAgICAgICB0aGUgc3Vic2FtcGxpbmdMZXZlbCBpcyBub3QgemVyby4g
QmVjYXVzZSB3ZSBhcmUgYXNzaWduaW5nIHRoZSByYXcgcG9pbnRlcgorICAgICAgICB0byBhIGxv
Y2FsIHZhcmlhYmxlIGluIEltYWdlRGVjb2Rlcjo6Y3JlYXRlRnJhbWVJbWFnZUF0SW5kZXgoKSwg
Q0ZSZWxlYXNlKCkKKyAgICAgICAgaXMgY2FsbGVkIGZvciB0aGUgQ0ZEaWN0aW9uYXJ5UmVmIGlt
bWVkaWF0ZWx5IGFmdGVyIHRoaXMgYXNzaWdubWVudC4gVGhpcworICAgICAgICBjYXVzZXMgaXRz
IG1lbW9yeSB0byBiZSBmcmVlZCBpbiB0aGlzIGNhc2UgZXZlbiBiZWZvcmUgY2FsbGluZyBDRy4K
KworICAgICAgICBUaGlzIGJ1ZyBkb2VzIG5vdCBoYXBwZW4gaWYgdGhlIHN1YnNhbXBsaW5nTGV2
ZWwgaXMgemVybyBiZWNhdXNlIHdlIGNhY2hlCisgICAgICAgIHRoZSByZXR1cm5lZCB2YWx1ZSBp
biBhIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxSZXRhaW5QdHI8Q0ZEaWN0aW9uYXJ5UmVmPiBpbgor
ICAgICAgICBpbWFnZVNvdXJjZU9wdGlvbnMoKS4gVGhpcyBjYWNoZSBwcmV2ZW50cyB0aGUgQ0ZE
aWN0aW9uYXJ5UmVmIGZyb20gYmVpbmcKKyAgICAgICAgZnJlZWQgaW4gSW1hZ2VEZWNvZGVyOjpj
cmVhdGVGcmFtZUltYWdlQXRJbmRleCgpIG5vIG1hdHRlciB3aGVyZSBDRlJlbGVhc2UoKQorICAg
ICAgICBpcyBjYWxsZWQuCisKKyAgICAgICAgVGhlIGZpeCBpcyBob2xkIHRoZSByZXR1cm5lZCB2
YWx1ZSBpbiBhIFJldGFpblB0cjxDRkRpY3Rpb25hcnlSZWY+LiBUaGlzCisgICAgICAgIHdpbGwg
ZW5zdXJlIHRoZSBDRkRpY3Rpb25hcnlSZWYgcmF3IHBvaW50ZXIgaXMgdmFsaWQgdGlsbCB0aGUg
ZW5kIG9mCisgICAgICAgIEltYWdlRGVjb2Rlcjo6Y3JlYXRlRnJhbWVJbWFnZUF0SW5kZXgoKS4K
KworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2NnL0ltYWdlRGVjb2RlckNHLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkltYWdlRGVjb2Rlcjo6Y3JlYXRlRnJhbWVJbWFnZUF0SW5kZXgpOiBF
bnN1cmUgdGhlIHBvaW50ZXIgaXMgcmV0YWluZWQuCisKIDIwMTYtMTEtMDkgIEFsZXggQ2hyaXN0
ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCBy
b2xsaW5nIG91dCByMjA4NDM4LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2cvSW1hZ2VEZWNvZGVyQ0cuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2cvSW1hZ2VEZWNvZGVyQ0cuY3BwCmluZGV4IDcwYmRlMTg4YTlkNzNlNTRmYTg4
NzdiNzAwNjdiNDFiMGYzNDc0OTAuLmIyOTAzMWViYjcwZjFhZTBkNzU1NDQzNWE2NjhlMzM1ZjMw
YTYyM2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NnL0lt
YWdlRGVjb2RlckNHLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
Zy9JbWFnZURlY29kZXJDRy5jcHAKQEAgLTM0MywxMyArMzQzLDEzIEBAIE5hdGl2ZUltYWdlUHRy
IEltYWdlRGVjb2Rlcjo6Y3JlYXRlRnJhbWVJbWFnZUF0SW5kZXgoc2l6ZV90IGluZGV4LCBTdWJz
YW1wbGluZ0xlCiB7CiAgICAgTE9HKEltYWdlcywgIkltYWdlRGVjb2RlciAlcCBjcmVhdGVGcmFt
ZUltYWdlQXRJbmRleCAlbHUiLCB0aGlzLCBpbmRleCk7CiAKLSAgICBjb25zdCBhdXRvKiBvcHRp
b25zID0gaW1hZ2VTb3VyY2VPcHRpb25zKHN1YnNhbXBsaW5nTGV2ZWwsIGRlY29kaW5nTW9kZSku
Z2V0KCk7CisgICAgUmV0YWluUHRyPENGRGljdGlvbmFyeVJlZj4gb3B0aW9ucyA9IGltYWdlU291
cmNlT3B0aW9ucyhzdWJzYW1wbGluZ0xldmVsLCBkZWNvZGluZ01vZGUpOwogICAgIFJldGFpblB0
cjxDR0ltYWdlUmVmPiBpbWFnZTsKIAogICAgIGlmIChkZWNvZGluZ01vZGUgPT0gRGVjb2RpbmdN
b2RlOjpPbkRlbWFuZCkKLSAgICAgICAgaW1hZ2UgPSBhZG9wdENGKENHSW1hZ2VTb3VyY2VDcmVh
dGVJbWFnZUF0SW5kZXgobV9uYXRpdmVEZWNvZGVyLmdldCgpLCBpbmRleCwgb3B0aW9ucykpOwor
ICAgICAgICBpbWFnZSA9IGFkb3B0Q0YoQ0dJbWFnZVNvdXJjZUNyZWF0ZUltYWdlQXRJbmRleCht
X25hdGl2ZURlY29kZXIuZ2V0KCksIGluZGV4LCBvcHRpb25zLmdldCgpKSk7CiAgICAgZWxzZQot
ICAgICAgICBpbWFnZSA9IGFkb3B0Q0YoQ0dJbWFnZVNvdXJjZUNyZWF0ZVRodW1ibmFpbEF0SW5k
ZXgobV9uYXRpdmVEZWNvZGVyLmdldCgpLCBpbmRleCwgb3B0aW9ucykpOworICAgICAgICBpbWFn
ZSA9IGFkb3B0Q0YoQ0dJbWFnZVNvdXJjZUNyZWF0ZVRodW1ibmFpbEF0SW5kZXgobV9uYXRpdmVE
ZWNvZGVyLmdldCgpLCBpbmRleCwgb3B0aW9ucy5nZXQoKSkpOwogICAgIAogI2lmIFBMQVRGT1JN
KElPUykKICAgICAvLyA8cmRhcjovL3Byb2JsZW0vNzM3MTE5OD4gLSBDb3JlR3JhcGhpY3MgY2hh
bmdlZCB0aGUgZGVmYXVsdCBjYWNoaW5nIGJlaGF2aW91ciBpbiBpT1MgNC4wIHRvIGtDR0ltYWdl
Q2FjaGluZ1RyYW5zaWVudAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>